{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Lesson 16 - Pandas Group Operations"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Readings\n",
    "\n",
    "* McKinney: [Chapter 10. Data Aggregation and Group Operations](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/data-aggregation-and-group-operations/groupby_html)\n",
    "\n",
    "### Table of Contents\n",
    "\n",
    "* [Index operations](#index)\n",
    "* [Groupby](#groupby)\n",
    "* [Melt](#melt)\n",
    "* [Pivot](#pivot)\n",
    "* [Pivot table](#pivot-table)\n",
    "* [Stack](#stack)\n",
    "* [Unstack](#unstack)\n",
    "* [Example with Earth Microbiome Project](#example-emp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# import libraries\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import sys\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# set max rows\n",
    "pd.set_option(\"display.max_rows\", 20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"index\"></a>\n",
    "\n",
    "### index.name, reset_index, inplace=True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>10000</th>\n",
       "      <th>13001</th>\n",
       "      <th>60985</th>\n",
       "      <th>43309</th>\n",
       "      <th>89785</th>\n",
       "      <th>57688</th>\n",
       "      <th>19366</th>\n",
       "      <th>97775</th>\n",
       "      <th>22384</th>\n",
       "      <th>31556</th>\n",
       "      <th>70964</th>\n",
       "      <th>70155</th>\n",
       "      <th>47724</th>\n",
       "      <th>37602</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>subject_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>computer_has</th>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>computer_os</th>\n",
       "      <td>NaN</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Windows</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Windows</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Windows</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Linux</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Linux</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_bash</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_command</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_matlab</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_perl</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_python</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_r</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              10000 13001    60985 43309    89785 57688 19366 97775    22384  \\\n",
       "subject_id                                                                     \n",
       "computer_has      N     Y        Y     Y        Y     Y     Y     Y        Y   \n",
       "computer_os     NaN   Mac  Windows   Mac  Windows   Mac   Mac   Mac  Windows   \n",
       "score_bash        0     1        0     3        2     1     0     2        0   \n",
       "score_command     0     2        1     3        2     1     2     2        0   \n",
       "score_matlab      0     3        1     0        0     1     3     3        2   \n",
       "score_perl        0     0        0     0        1     0     0     0        0   \n",
       "score_python      0     0        2     1        2     0     0     1        0   \n",
       "score_r           0     0        1     2        2     0     2     0        2   \n",
       "\n",
       "              31556 70964  70155 47724  37602  \n",
       "subject_id                                     \n",
       "computer_has      Y     Y      Y     Y      Y  \n",
       "computer_os     Mac   Mac  Linux   Mac  Linux  \n",
       "score_bash        1     1      1     0      2  \n",
       "score_command     2     1      1     0      2  \n",
       "score_matlab      3     2      1     1      0  \n",
       "score_perl        0     0      0     0      1  \n",
       "score_python      0     1      1     0      1  \n",
       "score_r           0     2      0     0      2  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# create dataframe\n",
    "df = pd.read_csv('../data/survey_scores_2015.csv', index_col=0)\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>10000</th>\n",
       "      <th>13001</th>\n",
       "      <th>60985</th>\n",
       "      <th>43309</th>\n",
       "      <th>89785</th>\n",
       "      <th>57688</th>\n",
       "      <th>19366</th>\n",
       "      <th>97775</th>\n",
       "      <th>22384</th>\n",
       "      <th>31556</th>\n",
       "      <th>70964</th>\n",
       "      <th>70155</th>\n",
       "      <th>47724</th>\n",
       "      <th>37602</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>computer_has</th>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>computer_os</th>\n",
       "      <td>NaN</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Windows</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Windows</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Windows</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Linux</td>\n",
       "      <td>Mac</td>\n",
       "      <td>Linux</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_bash</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_command</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_matlab</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_perl</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_python</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_r</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              10000 13001    60985 43309    89785 57688 19366 97775    22384  \\\n",
       "computer_has      N     Y        Y     Y        Y     Y     Y     Y        Y   \n",
       "computer_os     NaN   Mac  Windows   Mac  Windows   Mac   Mac   Mac  Windows   \n",
       "score_bash        0     1        0     3        2     1     0     2        0   \n",
       "score_command     0     2        1     3        2     1     2     2        0   \n",
       "score_matlab      0     3        1     0        0     1     3     3        2   \n",
       "score_perl        0     0        0     0        1     0     0     0        0   \n",
       "score_python      0     0        2     1        2     0     0     1        0   \n",
       "score_r           0     0        1     2        2     0     2     0        2   \n",
       "\n",
       "              31556 70964  70155 47724  37602  \n",
       "computer_has      Y     Y      Y     Y      Y  \n",
       "computer_os     Mac   Mac  Linux   Mac  Linux  \n",
       "score_bash        1     1      1     0      2  \n",
       "score_command     2     1      1     0      2  \n",
       "score_matlab      3     2      1     1      0  \n",
       "score_perl        0     0      0     0      1  \n",
       "score_python      0     1      1     0      1  \n",
       "score_r           0     2      0     0      2  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# remove index name\n",
    "df.index.name = None\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>computer_has</th>\n",
       "      <th>computer_os</th>\n",
       "      <th>score_bash</th>\n",
       "      <th>score_command</th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>student</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>10000</th>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60985</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43309</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>89785</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57688</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19366</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97775</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22384</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31556</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70964</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70155</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47724</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37602</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        computer_has computer_os score_bash score_command score_matlab  \\\n",
       "student                                                                  \n",
       "10000              N         NaN          0             0            0   \n",
       "13001              Y         Mac          1             2            3   \n",
       "60985              Y     Windows          0             1            1   \n",
       "43309              Y         Mac          3             3            0   \n",
       "89785              Y     Windows          2             2            0   \n",
       "57688              Y         Mac          1             1            1   \n",
       "19366              Y         Mac          0             2            3   \n",
       "97775              Y         Mac          2             2            3   \n",
       "22384              Y     Windows          0             0            2   \n",
       "31556              Y         Mac          1             2            3   \n",
       "70964              Y         Mac          1             1            2   \n",
       "70155              Y       Linux          1             1            1   \n",
       "47724              Y         Mac          0             0            1   \n",
       "37602              Y       Linux          2             2            0   \n",
       "\n",
       "        score_perl score_python score_r  \n",
       "student                                  \n",
       "10000            0            0       0  \n",
       "13001            0            0       0  \n",
       "60985            0            2       1  \n",
       "43309            0            1       2  \n",
       "89785            1            2       2  \n",
       "57688            0            0       0  \n",
       "19366            0            0       2  \n",
       "97775            0            1       0  \n",
       "22384            0            0       2  \n",
       "31556            0            0       0  \n",
       "70964            0            1       2  \n",
       "70155            0            1       0  \n",
       "47724            0            0       0  \n",
       "37602            1            1       2  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# transpose\n",
    "df = df.transpose()\n",
    "df.index.name = 'student'\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>student</th>\n",
       "      <th>computer_has</th>\n",
       "      <th>computer_os</th>\n",
       "      <th>score_bash</th>\n",
       "      <th>score_command</th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10000</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13001</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>60985</td>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>43309</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>89785</td>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>57688</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>19366</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>97775</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>22384</td>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>31556</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>70964</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>70155</td>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>47724</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>37602</td>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   student computer_has computer_os score_bash score_command score_matlab  \\\n",
       "0    10000            N         NaN          0             0            0   \n",
       "1    13001            Y         Mac          1             2            3   \n",
       "2    60985            Y     Windows          0             1            1   \n",
       "3    43309            Y         Mac          3             3            0   \n",
       "4    89785            Y     Windows          2             2            0   \n",
       "5    57688            Y         Mac          1             1            1   \n",
       "6    19366            Y         Mac          0             2            3   \n",
       "7    97775            Y         Mac          2             2            3   \n",
       "8    22384            Y     Windows          0             0            2   \n",
       "9    31556            Y         Mac          1             2            3   \n",
       "10   70964            Y         Mac          1             1            2   \n",
       "11   70155            Y       Linux          1             1            1   \n",
       "12   47724            Y         Mac          0             0            1   \n",
       "13   37602            Y       Linux          2             2            0   \n",
       "\n",
       "   score_perl score_python score_r  \n",
       "0           0            0       0  \n",
       "1           0            0       0  \n",
       "2           0            2       1  \n",
       "3           0            1       2  \n",
       "4           1            2       2  \n",
       "5           0            0       0  \n",
       "6           0            0       2  \n",
       "7           0            1       0  \n",
       "8           0            0       2  \n",
       "9           0            0       0  \n",
       "10          0            1       2  \n",
       "11          0            1       0  \n",
       "12          0            0       0  \n",
       "13          1            1       2  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# reset index with inplace=True (also see more advanced function pandas.DataFrame.reindex)\n",
    "df.reset_index(inplace=True)\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>student</th>\n",
       "      <th>computer_has</th>\n",
       "      <th>computer_os</th>\n",
       "      <th>score_command</th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10000</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13001</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>60985</td>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>43309</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>89785</td>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>57688</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>19366</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>97775</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>22384</td>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>31556</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>70964</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>70155</td>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>47724</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>37602</td>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   student computer_has computer_os score_command score_matlab score_perl  \\\n",
       "0    10000            N         NaN             0            0          0   \n",
       "1    13001            Y         Mac             2            3          0   \n",
       "2    60985            Y     Windows             1            1          0   \n",
       "3    43309            Y         Mac             3            0          0   \n",
       "4    89785            Y     Windows             2            0          1   \n",
       "5    57688            Y         Mac             1            1          0   \n",
       "6    19366            Y         Mac             2            3          0   \n",
       "7    97775            Y         Mac             2            3          0   \n",
       "8    22384            Y     Windows             0            2          0   \n",
       "9    31556            Y         Mac             2            3          0   \n",
       "10   70964            Y         Mac             1            2          0   \n",
       "11   70155            Y       Linux             1            1          0   \n",
       "12   47724            Y         Mac             0            1          0   \n",
       "13   37602            Y       Linux             2            0          1   \n",
       "\n",
       "   score_python score_r  \n",
       "0             0       0  \n",
       "1             0       0  \n",
       "2             2       1  \n",
       "3             1       2  \n",
       "4             2       2  \n",
       "5             0       0  \n",
       "6             0       2  \n",
       "7             1       0  \n",
       "8             0       2  \n",
       "9             0       0  \n",
       "10            1       2  \n",
       "11            1       0  \n",
       "12            0       0  \n",
       "13            1       2  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# delete column score_bash because it's mostly redundant with score_command\n",
    "df.drop('score_bash', axis=1, inplace=True)\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "student          object\n",
       "computer_has     object\n",
       "computer_os      object\n",
       "score_command    object\n",
       "score_matlab     object\n",
       "score_perl       object\n",
       "score_python     object\n",
       "score_r          object\n",
       "dtype: object"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check datatypes\n",
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# convert score columns to integers\n",
    "score_cols = ['score_command', 'score_matlab', 'score_perl',\n",
    "              'score_python', 'score_r']\n",
    "df[score_cols] = df[score_cols].astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "student          object\n",
       "computer_has     object\n",
       "computer_os      object\n",
       "score_command     int64\n",
       "score_matlab      int64\n",
       "score_perl        int64\n",
       "score_python      int64\n",
       "score_r           int64\n",
       "dtype: object"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check datatypes again\n",
    "df.dtypes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"groupby\"></a>\n",
    "\n",
    "### groupby\n",
    "\n",
    "Group series using a series of columns or a mapper (dict or key function, apply given function to group, return result as series)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<pandas.core.groupby.groupby.DataFrameGroupBy object at 0x1a1b0a5e10>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# create group object\n",
    "comp = df.groupby('computer_os')\n",
    "comp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>score_command</th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>computer_os</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Linux</th>\n",
       "      <td>1.500</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mac</th>\n",
       "      <td>1.625</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.375000</td>\n",
       "      <td>0.750000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Windows</th>\n",
       "      <td>1.000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.333333</td>\n",
       "      <td>1.333333</td>\n",
       "      <td>1.666667</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             score_command  score_matlab  score_perl  score_python   score_r\n",
       "computer_os                                                                 \n",
       "Linux                1.500           0.5    0.500000      1.000000  1.000000\n",
       "Mac                  1.625           2.0    0.000000      0.375000  0.750000\n",
       "Windows              1.000           1.0    0.333333      1.333333  1.666667"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# apply sum function\n",
    "comp.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>score_command</th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>computer_os</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Linux</th>\n",
       "      <td>0.707107</td>\n",
       "      <td>0.707107</td>\n",
       "      <td>0.707107</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.414214</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mac</th>\n",
       "      <td>0.916125</td>\n",
       "      <td>1.195229</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.517549</td>\n",
       "      <td>1.035098</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Windows</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.577350</td>\n",
       "      <td>1.154701</td>\n",
       "      <td>0.577350</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             score_command  score_matlab  score_perl  score_python   score_r\n",
       "computer_os                                                                 \n",
       "Linux             0.707107      0.707107    0.707107      0.000000  1.414214\n",
       "Mac               0.916125      1.195229    0.000000      0.517549  1.035098\n",
       "Windows           1.000000      1.000000    0.577350      1.154701  0.577350"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# apply std function\n",
    "comp.std()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>student</th>\n",
       "      <th>computer_has</th>\n",
       "      <th>score_command</th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>computer_os</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Linux</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mac</th>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Windows</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             student  computer_has  score_command  score_matlab  score_perl  \\\n",
       "computer_os                                                                   \n",
       "Linux              2             2              2             2           2   \n",
       "Mac                8             8              8             8           8   \n",
       "Windows            3             3              3             3           3   \n",
       "\n",
       "             score_python  score_r  \n",
       "computer_os                         \n",
       "Linux                   2        2  \n",
       "Mac                     8        8  \n",
       "Windows                 3        3  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# apply count function\n",
    "comp.count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>computer_os</th>\n",
       "      <th>score_command</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Linux</th>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"4\" valign=\"top\">Mac</th>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.50</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.25</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">Windows</th>\n",
       "      <th>0</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           score_matlab  score_perl  score_python  score_r\n",
       "computer_os score_command                                                 \n",
       "Linux       1                       1.0         0.0          1.00      0.0\n",
       "            2                       0.0         1.0          1.00      2.0\n",
       "Mac         0                       1.0         0.0          0.00      0.0\n",
       "            1                       1.5         0.0          0.50      1.0\n",
       "            2                       3.0         0.0          0.25      0.5\n",
       "            3                       0.0         0.0          1.00      2.0\n",
       "Windows     0                       2.0         0.0          0.00      2.0\n",
       "            1                       1.0         0.0          2.00      1.0\n",
       "            2                       0.0         1.0          2.00      2.0"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# we can group by multiple columns, and we can apply a function in-line\n",
    "# and we can save it as a new dataframe\n",
    "comp_cmd = df.groupby(['computer_os','score_command']).mean()\n",
    "comp_cmd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MultiIndex(levels=[['Linux', 'Mac', 'Windows'], [0, 1, 2, 3]],\n",
       "           labels=[[0, 0, 1, 1, 1, 1, 2, 2, 2], [1, 2, 0, 1, 2, 3, 0, 1, 2]],\n",
       "           names=['computer_os', 'score_command'])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comp_cmd.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>score_command</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               score_matlab  score_perl  score_python  score_r\n",
       "score_command                                                 \n",
       "1                       1.0         0.0           1.0      0.0\n",
       "2                       0.0         1.0           1.0      2.0"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comp_cmd.loc['Linux']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "score_matlab    1.0\n",
       "score_perl      0.0\n",
       "score_python    1.0\n",
       "score_r         0.0\n",
       "Name: (Linux, 1), dtype: float64"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comp_cmd.loc['Linux', 1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "computer_os  score_command\n",
       "Linux        1                1.0\n",
       "             2                0.0\n",
       "Mac          0                1.0\n",
       "             1                1.5\n",
       "             2                3.0\n",
       "             3                0.0\n",
       "Windows      0                2.0\n",
       "             1                1.0\n",
       "             2                0.0\n",
       "Name: score_matlab, dtype: float64"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comp_cmd['score_matlab']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "score_command\n",
       "1    1.0\n",
       "2    0.0\n",
       "Name: score_matlab, dtype: float64"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comp_cmd['score_matlab']['Linux']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comp_cmd['score_matlab']['Linux', 1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.series.Series"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(comp_cmd['score_matlab'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You may want to ***not*** have the columns you are grouping by become your index. This can be easily achieved as shown below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>computer_os</th>\n",
       "      <th>score_command</th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Linux</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Linux</td>\n",
       "      <td>2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Mac</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.50</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.25</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Mac</td>\n",
       "      <td>3</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Windows</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Windows</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Windows</td>\n",
       "      <td>2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  computer_os  score_command  score_matlab  score_perl  score_python  score_r\n",
       "0       Linux              1           1.0         0.0          1.00      0.0\n",
       "1       Linux              2           0.0         1.0          1.00      2.0\n",
       "2         Mac              0           1.0         0.0          0.00      0.0\n",
       "3         Mac              1           1.5         0.0          0.50      1.0\n",
       "4         Mac              2           3.0         0.0          0.25      0.5\n",
       "5         Mac              3           0.0         0.0          1.00      2.0\n",
       "6     Windows              0           2.0         0.0          0.00      2.0\n",
       "7     Windows              1           1.0         0.0          2.00      1.0\n",
       "8     Windows              2           0.0         1.0          2.00      2.0"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comp_cmd2 = df.groupby(['computer_os','score_command'], as_index=False).mean()\n",
    "comp_cmd2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([0, 1, 2, 3, 4, 5, 6, 7, 8], dtype='int64')"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comp_cmd2.index"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"melt\"></a>\n",
    "\n",
    "### melt\n",
    "\n",
    "Massage a DataFrame into a format where one or more columns are identifier variables (`id_vars`), while all other\n",
    "columns, considered measured variables (`value_vars`), are \"unpivoted\" to the row axis, leaving just two non-identifier columns, 'variable' and 'value'."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>student</th>\n",
       "      <th>computer_has</th>\n",
       "      <th>computer_os</th>\n",
       "      <th>score_command</th>\n",
       "      <th>score_matlab</th>\n",
       "      <th>score_perl</th>\n",
       "      <th>score_python</th>\n",
       "      <th>score_r</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10000</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13001</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>60985</td>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>43309</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>89785</td>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>57688</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>19366</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>97775</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>22384</td>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>31556</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>70964</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>70155</td>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>47724</td>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>37602</td>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   student computer_has computer_os  score_command  score_matlab  score_perl  \\\n",
       "0    10000            N         NaN              0             0           0   \n",
       "1    13001            Y         Mac              2             3           0   \n",
       "2    60985            Y     Windows              1             1           0   \n",
       "3    43309            Y         Mac              3             0           0   \n",
       "4    89785            Y     Windows              2             0           1   \n",
       "5    57688            Y         Mac              1             1           0   \n",
       "6    19366            Y         Mac              2             3           0   \n",
       "7    97775            Y         Mac              2             3           0   \n",
       "8    22384            Y     Windows              0             2           0   \n",
       "9    31556            Y         Mac              2             3           0   \n",
       "10   70964            Y         Mac              1             2           0   \n",
       "11   70155            Y       Linux              1             1           0   \n",
       "12   47724            Y         Mac              0             1           0   \n",
       "13   37602            Y       Linux              2             0           1   \n",
       "\n",
       "    score_python  score_r  \n",
       "0              0        0  \n",
       "1              0        0  \n",
       "2              2        1  \n",
       "3              1        2  \n",
       "4              2        2  \n",
       "5              0        0  \n",
       "6              0        2  \n",
       "7              1        0  \n",
       "8              0        2  \n",
       "9              0        0  \n",
       "10             1        2  \n",
       "11             1        0  \n",
       "12             0        0  \n",
       "13             1        2  "
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "# set max rows\n",
    "pd.set_option(\"display.max_rows\", 80)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>computer_has</th>\n",
       "      <th>computer_os</th>\n",
       "      <th>variable</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>score_command</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_command</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_command</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_command</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_command</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_command</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_command</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_command</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_command</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_command</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_command</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_command</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_command</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_command</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_matlab</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_perl</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>score_python</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_python</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_python</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_python</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_python</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_python</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_python</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_python</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_python</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_python</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_python</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_python</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_python</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_python</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>score_r</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_r</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_r</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_r</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_r</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_r</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_r</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_r</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64</th>\n",
       "      <td>Y</td>\n",
       "      <td>Windows</td>\n",
       "      <td>score_r</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_r</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_r</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_r</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>Y</td>\n",
       "      <td>Mac</td>\n",
       "      <td>score_r</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69</th>\n",
       "      <td>Y</td>\n",
       "      <td>Linux</td>\n",
       "      <td>score_r</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   computer_has computer_os       variable  value\n",
       "0             N         NaN  score_command      0\n",
       "1             Y         Mac  score_command      2\n",
       "2             Y     Windows  score_command      1\n",
       "3             Y         Mac  score_command      3\n",
       "4             Y     Windows  score_command      2\n",
       "5             Y         Mac  score_command      1\n",
       "6             Y         Mac  score_command      2\n",
       "7             Y         Mac  score_command      2\n",
       "8             Y     Windows  score_command      0\n",
       "9             Y         Mac  score_command      2\n",
       "10            Y         Mac  score_command      1\n",
       "11            Y       Linux  score_command      1\n",
       "12            Y         Mac  score_command      0\n",
       "13            Y       Linux  score_command      2\n",
       "14            N         NaN   score_matlab      0\n",
       "15            Y         Mac   score_matlab      3\n",
       "16            Y     Windows   score_matlab      1\n",
       "17            Y         Mac   score_matlab      0\n",
       "18            Y     Windows   score_matlab      0\n",
       "19            Y         Mac   score_matlab      1\n",
       "20            Y         Mac   score_matlab      3\n",
       "21            Y         Mac   score_matlab      3\n",
       "22            Y     Windows   score_matlab      2\n",
       "23            Y         Mac   score_matlab      3\n",
       "24            Y         Mac   score_matlab      2\n",
       "25            Y       Linux   score_matlab      1\n",
       "26            Y         Mac   score_matlab      1\n",
       "27            Y       Linux   score_matlab      0\n",
       "28            N         NaN     score_perl      0\n",
       "29            Y         Mac     score_perl      0\n",
       "30            Y     Windows     score_perl      0\n",
       "31            Y         Mac     score_perl      0\n",
       "32            Y     Windows     score_perl      1\n",
       "33            Y         Mac     score_perl      0\n",
       "34            Y         Mac     score_perl      0\n",
       "35            Y         Mac     score_perl      0\n",
       "36            Y     Windows     score_perl      0\n",
       "37            Y         Mac     score_perl      0\n",
       "38            Y         Mac     score_perl      0\n",
       "39            Y       Linux     score_perl      0\n",
       "40            Y         Mac     score_perl      0\n",
       "41            Y       Linux     score_perl      1\n",
       "42            N         NaN   score_python      0\n",
       "43            Y         Mac   score_python      0\n",
       "44            Y     Windows   score_python      2\n",
       "45            Y         Mac   score_python      1\n",
       "46            Y     Windows   score_python      2\n",
       "47            Y         Mac   score_python      0\n",
       "48            Y         Mac   score_python      0\n",
       "49            Y         Mac   score_python      1\n",
       "50            Y     Windows   score_python      0\n",
       "51            Y         Mac   score_python      0\n",
       "52            Y         Mac   score_python      1\n",
       "53            Y       Linux   score_python      1\n",
       "54            Y         Mac   score_python      0\n",
       "55            Y       Linux   score_python      1\n",
       "56            N         NaN        score_r      0\n",
       "57            Y         Mac        score_r      0\n",
       "58            Y     Windows        score_r      1\n",
       "59            Y         Mac        score_r      2\n",
       "60            Y     Windows        score_r      2\n",
       "61            Y         Mac        score_r      0\n",
       "62            Y         Mac        score_r      2\n",
       "63            Y         Mac        score_r      0\n",
       "64            Y     Windows        score_r      2\n",
       "65            Y         Mac        score_r      0\n",
       "66            Y         Mac        score_r      2\n",
       "67            Y       Linux        score_r      0\n",
       "68            Y         Mac        score_r      0\n",
       "69            Y       Linux        score_r      2"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_melted = pd.melt(df, id_vars=['computer_has', 'computer_os'], value_vars=score_cols)\n",
    "df_melted"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/luke/miniconda3/envs/python3/lib/python3.7/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAFBCAYAAACYWrPqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvDW2N/gAAIABJREFUeJzs3Xd8VFX+//HXyaSRQiAhtBRCl5JQE0roQYqCCEpTEEVBQFdQUVb9rqK7v9UVV1eUIqKAiAFBQEVQaihSQgkdpKfRQiCQkDoz5/fHTSa9kslMkvN8PPLIzNw7dz4JZD5z7z33vIWUEkVRFEUBsLF0AYqiKIr1UE1BURRFMVFNQVEURTFRTUFRFEUxUU1BURRFMVFNQVEURTFRTUFRFEUxUU1BURRFMVFNQVEURTGxtXQBpVWnTh3p5+dn6TIURVEqlcOHD9+SUnoWt16lawp+fn4cOnTI0mUoiqJUKkKIyJKspw4fKYqiKCaqKSiKoigmqikoiqIoJpXunIJSfWVkZBATE0NqaqqlS6mUHB0d8fb2xs7OztKlKFZMNQWl0oiJicHV1RU/Pz+EEJYup1KRUhIfH09MTAyNGze2dDmKFVOHj5RKIzU1FQ8PD9UQykAIgYeHh9rLUoqlmoJSqaiGUHbqd6eUhDp8pDyQ8d8cIOZOCt61a7D8+S6WLkdRlAek9hSUBxJzJ4XLt+4TcyfF0qVYjaNHj7Jx40ZLl6EoZaKagqKUs7I0Bb1eb6ZqFKV0VFNQqpzvvvuOgIAA2rVrx/jx44mMjCQkJISAgABCQkKIiooC4Nlnn2Xq1Kn07duXJk2asHPnTiZOnEirVq149tlnTdtzcXHh9ddfp2PHjoSEhBAXFwdAnz59TFOu3Lp1Cz8/P9LT03n33XdZtWoV7du3Z9WqVdy/f5+JEycSGBhIhw4d+PnnnwFYunQpI0eOZOjQoQwYMKDAn0VKyRtvvEHbtm3x9/dn1apVAFy7do1evXrRvn172rZty+7du83161SqGyllpfrq1KmTVKxHnzk7ZKNZG2SfOTvM/lqnT58udp2TJ0/KFi1ayLi4OCmllPHx8XLIkCFy6dKlUkopv/nmGzls2DAppZQTJkyQo0ePlkajUa5fv166urrK48ePS4PBIDt27CgjIiKklFIC8vvvv5dSSvn+++/Ll156SUopZe/eveXBgwellFLGxcXJRo0aSSmlXLJkiWkdKaV866235PLly6WUUt65c0c2b95cJiUlySVLlkgvLy8ZHx9f6M+zZs0a2b9/f6nX6+X169elj4+PvHr1qvzkk0/kv/71LymllHq9Xt67d6/cfodK1QQckiV4j1V7CkqVsn37dp588knq1KkDgLu7O/v27eOpp54CYPz48ezZs8e0/tChQxFC4O/vT7169fD398fGxoY2bdpw5coVAGxsbBg9ejQA48aNy/X8kti8eTMfffQR7du3p0+fPqSmppr2Vh5++GHc3d0Lfe6ePXsYO3YsOp2OevXq0bt3bw4ePEhgYCBLlixh9uzZnDhxAldX11LVpCiFUU1BqVKklMUOvcy53MHBAdDe+LNuZ90v7Dh/1vNtbW0xGo0ARY7/l1Ly008/cfToUY4ePUpUVBStWrUCwNnZudifpyC9evVi165deHl5MX78eL777rsit6MoJaWaglKlhISE8OOPPxIfHw/A7du36d69OytXrgRgxYoV9OjRo1TbNBqNrFmzBoAffvjB9Hw/Pz8OHz4MYFoO4OrqSmJioun+wIED+eKLL0xv8BERESV+7V69erFq1SoMBgNxcXHs2rWLoKAgIiMjqVu3LpMmTeL555/nyJEjpfqZFKUw6joFpUpp06YN77zzDr1790an09GhQwfmzp3LxIkTmTNnDp6enixZsqRU23R2dubUqVN06tQJNzc308nemTNnMmrUKJYvX06/fv1M6/ft29d0uOitt97iH//4BzNmzCAgIAApJX5+fmzYsKFErz18+HD27dtHu3btEELw8ccfU79+fZYtW8acOXOws7PDxcVF7Sko5UYUtntqrTp37ixVyI716PtJGJdv3adxHWd2zOxj1tc6c+aM6bBLRXJxcSEpKanCX9ccLPU7VCxPCHFYStm5uPXU4SNFURTFRB0+UpRiVMRewokTJxg/fnyuxxwcHDhw4IDZX1tRclJNQVGsgL+/P0ePHrV0GYqiDh8piqIo2VRTUBRFUUzM1hSEED5CiB1CiDNCiFNCiOkFrNNHCHFXCHE08+tdc9WjKIqiFM+c5xT0wOtSyiNCCFfgsBBii5TydJ71dksph5ixDqWaklIScyeF1AwDvh5OONjqLF2Solg9s+0pSCmvSSmPZN5OBM4AXuZ6PUXJacdfNxn8+W56fryDhz/bRdd/b+PzrecxGB/suhwhRK5RQnq9Hk9PT4YMUZ9rlKqhQs4pCCH8gA5AQePrugkhjgkhNgkh2hTy/MlCiENCiENZ0xYrSmG2n73B80sPcvZ69lQTd5Iz+GzrOd5Zd+KBtu3s7MzJkydJSdFChbZs2YKXl/qso1QdZm8KQggX4CdghpTyXp7FR4BGUsp2wBfA+oK2IaVcJKXsLKXs7Onpad6ClUpNSsn/++0Mhe0QrDwYzbkbiQUvLKHBgwfz22+/ARAaGsrYsWNNy8LDw+nevTsdOnSge/fu/PXXXwAYDAZmzpyJv78/AQEBfPHFFw9Ug6KYi1mbghDCDq0hrJBSrs27XEp5T0qZlHl7I2AnhKhjzpqUqu3cjSQuxt0vcp2NJ6490GuMGTOGlStXkpqayvHjx+nSJTub+qGHHmLXrl1ERETwwQcf8PbbbwOwaNEiLl++TEREBMePH+fpp59+oBoUxVzMdqJZaPMLfwOckVJ+Wsg69YEbUkophAhCa1Lx5qpJqfqS04uPtUxONzzQawQEBHDlyhVCQ0N55JFHci27e/cuEyZM4Pz58wghyMjIAGDr1q1MmTIFW1vtT66oDAVFsSRzjj4KBsYDJ4QQWZdqvg34AkgpFwJPAlOFEHogBRgjK9sMfYpVaVbXBUc7G1IzjIWuE+Dt9sCv89hjjzFz5kzCwsJM03QD/OMf/6Bv376sW7eOK1eu0KdPH6BkOQ+KYg3M1hSklHuAIv8KpJRfAl+aqwal+nF1tGNMoC9L914pcLl37RoMaF3/gV9n4sSJuLm54e/vT1hYmOnxu3fvmk48L1261PT4gAEDWLhwIX369MHW1pbbt2+rvQXFKqkrmpUq5++DH6J/q7r5Hm/o5si3zwZib/vg/+29vb2ZPj3f9Zi8+eabvPXWWwQHB2MwZB+meuGFF/D19SUgIIB27drxww8/PHANimIOKk9BeSDWmqcgpeRQ5B3+OHmdVL2BDj61eTSgAY521fsCNpWnUH2VNE9BzZKqVElCCAL93An0U4doFKU01OEjRVEUxUQ1BUVRFMVENQVFURTFRDUFRVEUxUQ1BaXqkhLuXIGbZ0GfZulqFKVSUKOPlKrp/BbYOhtunNTu13CHLlOg10ywKduw1FdffZVGjRoxY8YMAAYOHIiPjw+LFy8G4PXXX8fDw4MjR46wZs2aEm936dKlHDp0iC+/VNdxKpan9hSUqufcH/DDqOyGAJByG8L+DRtmlHmz3bt3Z+/evQAYjUZu3brFqVOnTMv37t1LSEhIqRqColgb1RSUqkVK2Px/IAuZ++jId3DzTJk2HRwcbGoKp06dom3btri6unLnzh3S0tI4c+YMtWvXpm3btoC2BzBixAgGDRpE8+bNefPNN03bWrJkCS1atKB37978+eefpscjIyMJCQkhICCAkJAQoqKiMBgMNGnSBCklCQkJ2NjYsGvXLgB69uzJhQsX2LlzJ+3bt6d9+/Z06NCBxMQHmx5cqb7U4aMyGP/NAWLupOBduwbLn+9S/BOUinPzDNw6V/Q6p3+GuqW/qrdhw4bY2toSFRXF3r176datG7Gxsezbtw83NzcCAgKwt7fP9ZyjR48SERGBg4MDLVu25G9/+xu2tra89957HD58GDc3N/r27UuHDh0AePnll3nmmWeYMGEC3377La+88grr16+nRYsWnD59msuXL9OpUyd2795Nly5diImJoVmzZrz66qvMmzeP4OBgkpKScHR0LPXPpyig9hTKJOZOCpdv3SfmToqlS1Hyykgufp30pDJvPmtvIaspdOvWzXS/e/fu+dYPCQnBzc0NR0dHWrduTWRkJAcOHKBPnz54enpib2/P6NGjTevv27ePp556CoDx48ezZ88eQNsj2LVrF7t27eKtt95iz549HDx4kMDAQFNdr732GnPnziUhIcE0RbeilJZqCkrVUqcF2NYoep2GHcu8+azzCidOnKBt27Z07dqVffv2sXfvXoKDg/Ot7+DgYLqt0+nQ67W8h5JOo521Xs+ePdm9ezfh4eE88sgjJCQkEBYWRq9evQD4+9//zuLFi0lJSaFr166cPXu2zD+jUr2ppqBULY41oeMzhS+v5QsPDSnz5oODg9mwYQPu7u7odDrc3d1JSEhg3759dOvWrUTb6NKliymHISMjg9WrV5uWde/enZUrVwKwYsUKevToYXrO3r17sbGxwdHRkfbt2/PVV1/Rs2dPAC5evIi/vz+zZs2ic+fOqikoZaaaglL1PPwBtBic//Ga3vDUj2Brn39ZCfn7+3Pr1i26du2a6zE3Nzfq1ClZkmyDBg2YPXs23bp1o3///nTsmL3nMnfuXJYsWUJAQADLly/n888/B7Q9Dh8fH9Pr9uzZk8TERPz9/QH43//+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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.pointplot(x='variable', y='value', hue='computer_os', data=df_melted)\n",
    "plt.xticks(rotation=45);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEyCAYAAAAV7MyFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvDW2N/gAAIABJREFUeJzs3XlclOX+//HXNcMuiCKuLIKG5oI7uKVi5pot7lppZWpmnTyV5bc6nTp2TvU7WafFyrRyKRM1Tc2lXFJBJQEVxX0XEBdEUWRn5vr9ccPIDgLDDHA9Hw8eMHPfc89nQOcz931f9/UWUkoURVEUBUBn6QIURVEU66GagqIoimKimoKiKIpiopqCoiiKYqKagqIoimKimoKiKIpiopqCoiiKYqKagqIoimKimoKiKIpiYmPpAu6Vu7u79PHxsXQZiqIo1cr+/fuvSykblrZetWsKPj4+REZGWroMRVGUakUIcbEs66nDR4qiKIqJagqKoiiKiWoKiqIoikm1O6eg1F5ZWVnExcWRnp5u6VKqJQcHBzw9PbG1tbV0KYoVU01BqTbi4uJwcXHBx8cHIYSly6lWpJQkJiYSFxeHr6+vpctRrJg6fKRUG+np6TRo0EA1hHIQQtCgQQO1l6WUSjUFpVpRDaH81O9OKQt1+EipkInf7yPuZhqe9R358bnuli5HUZQKUnsKSoXE3Uzj/PUU4m6mWboUqxEVFcWmTZssXYailItqCopSycrTFLKzs81UjaLcG9UUlBpn6dKldOjQgY4dOzJx4kQuXrzIgAED6NChAwMGDCAmJgaAZ555hhdeeIH+/fvTokULdu3axeTJk2nTpg3PPPOMaXvOzs689tprdOnShQEDBpCQkABAUFCQacqV69ev4+PjQ2ZmJv/85z9ZsWIFnTp1YsWKFaSkpDB58mQCAgLo3Lkz69atA2Dx4sWMGTOGRx55hEGDBhX5WqSUvP7667Rv3x5/f39WrFgBwOXLl+nbty+dOnWiffv2hIaGmuvXqdQ2Uspq9dW1a1epWI+gj3fI5rM3yKCPd5j9uY4dO1bqOkeOHJGtWrWSCQkJUkopExMT5fDhw+XixYullFJ+//338rHHHpNSSvn000/LcePGSaPRKNeuXStdXFzk4cOHpcFgkF26dJEHDx6UUkoJyJ9++klKKeW//vUv+eKLL0oppezXr5+MiIiQUkqZkJAgmzdvLqWUctGiRaZ1pJTyzTfflD/++KOUUsqbN29KPz8/eefOHblo0SLp4eEhExMTi309v/zyi3zooYdkdna2vHLlivTy8pLx8fFy7ty58t///reUUsrs7Gx5+/btSvsdKjUTECnL8B6r9hSUGuXPP/9k9OjRuLu7A+Dm5kZYWBhPPPEEABMnTmT37t2m9R955BGEEPj7+9O4cWP8/f3R6XS0a9eOCxcuAKDT6Rg3bhwATz31VL7Hl8WWLVv46KOP6NSpE0FBQaSnp5v2VgYOHIibm1uxj929ezcTJkxAr9fTuHFj+vXrR0REBAEBASxatIj33nuP6OhoXFxc7qkmRSmOagpKjSKlLHXoZd7l9vb2gPbGn/tz7u3ijvPnPt7Gxgaj0QhQ4vh/KSWrV68mKiqKqKgoYmJiaNOmDQB16tQp9fUUpW/fvoSEhODh4cHEiRNZunRpidtRlLJSTUGpUQYMGMDKlStJTEwE4MaNG/Tq1Yvg4GAAli1bxgMPPHBP2zQajfzyyy8A/Pzzz6bH+/j4sH//fgDTcgAXFxeSk5NNtwcPHsyXX35peoM/ePBgmZ+7b9++rFixAoPBQEJCAiEhIQQGBnLx4kUaNWrE1KlTee655zhw4MA9vSZFKY66TkGpUdq1a8fbb79Nv3790Ov1dO7cmS+++ILJkyfz8ccf07BhQxYtWnRP26xTpw5Hjx6la9euuLq6mk72zpo1i7Fjx/Ljjz/y4IMPmtbv37+/6XDRm2++yTvvvMPf//53OnTogJQSHx8fNmzYUKbnHjFiBGFhYXTs2BEhBP/9739p0qQJS5Ys4eOPP8bW1hZnZ2e1p6BUGlHc7qm16tatm1QhO9aj/9ydnL+egq97HXbMCjLrcx0/ftx02KUqOTs7c+fOnSp/XnOw1O9QsTwhxH4pZbfS1lOHjxRFURQTdfhIUUpRFXsJ0dHRTJw4Md999vb27Nu3z+zPrSh5qaagKFbA39+fqKgoS5ehKOrwkaIoinKXagqKoiiKidmaghDCSwixQwhxXAhxVAgxs4h1goQQt4QQUTlf/zRXPYqiKErpzHlOIRt4TUp5QAjhAuwXQmyVUh4rsF6olHK4GetQarHcIdcqYEZRysZsewpSystSygM5PycDxwEPcz2fouR15tod/h58kLb//IOWb21i5Nd7+P3I5QpvVwiRb5RQdnY2DRs2ZPhw9blGqRmq5JyCEMIH6AwUNb6upxDikBBisxCiXVXUo9RsRy7d4vGv9rA2Kp60LANGCQdikpj+0wG+3XW2QtuuU6cOR44cIS1NCxXaunUrHh7qs45Sc5i9KQghnIHVwN+llLcLLD4ANJdSdgS+BNYWs41pQohIIURk7lz2ilKcd9cf5U5G0ZPZ/fePk8QnVSwlbujQoWzcuBGA5cuXM2HCBNOy8PBwevXqRefOnenVqxcnT54EwGAwMGvWLPz9/enQoQNffvllhWpQFHMxa1MQQtiiNYRlUso1BZdLKW9LKe/k/LwJsBVCuBex3gIpZTcpZbeGDRuas2SlmruYmML+izeLXW4wStYfiq/Qc4wfP57g4GDS09M5fPgw3bvfzaa+//77CQkJ4eDBg8yZM4e33noLgAULFnD+/HkOHjzI4cOHefLJJytUg6KYi9lONAvtzN73wHEp5afFrNMEuCqllEKIQLQmlWiumpSaLzEls/R17mRU6Dk6dOjAhQsXWL58OcOGDcu37NatWzz99NOcPn0aIQRZWVkAbNu2jenTp2Njo/2XKylDQVEsyZyjj3oDE4FoIUTupZpvAd4AUsr5wGjgBSFENpAGjJfVbYY+xap41XdCrxMYjMX/M2rR0LnCz/Poo48ya9Ysdu7caZqmG+Cdd96hf//+/Prrr1y4cIGgoCCgbDkPimINzNYUpJS7gRL/F0gp5wHzzFWDUvs0dLFnSLsmbIwueqSRi4MNj3RsVuHnmTx5Mq6urvj7+7Nz507T/bdu3TKdeF68eLHp/kGDBjF//nyCgoKwsbHhxo0bam9BsUrqimalxpnzWDtaNS68N+Bgq+OrJ7rgbF/xz0Kenp7MnFnoekzeeOMN3nzzTXr37o3BYDDdP2XKFLy9venQoQMdO3bk559/rnANimIOKk9BqRBrzVNIyzSw+kAcfxy9QkaWkc7e9XiqR3O83JzMWqO1U3kKtVdZ8xTULKlKjeRop+epHs15qkdzS5eiKNWKOnykKIqimKimoCiKopiopqAoiqKYqKagKIqimKimoNRsUmpfiqKUiWoKSs2UcApWT4UPmsEcN/huIBxbX6FNvvLKK3z22Wem24MHD2bKlCmm26+99hoffPABo0ePvqftLl68mJdeeqlCtSlKZVFNQal5Lh+C7x6E6JWQlQrSCHHhsHIi7Pm83Jvt1asXe/fuBcBoNHL9+nWOHj1qWr53714GDBjAL7/8UuGXoCiWopqCUvNseh0ykotetu1fcCuuXJvt3bu3qSkcPXqU9u3b4+Liws2bN8nIyOD48ePUr1+f9u3bA9oewMiRIxkyZAh+fn688cYbpm0tWrSIVq1a0a9fP/bs2WO6/+LFiwwYMIAOHTowYMAAYmJiMBgMtGjRAiklSUlJ6HQ6QkJCAOjTpw9nzpxh165ddOrUiU6dOtG5c2eSk4t5/YpSCtUUymHi9/voP3cnE78vKjNIsagb5yC2hL+LNEB0+T7JN2vWDBsbG2JiYti7dy89e/ake/fuhIWFERkZSYcOHbCzs8v3mKioKFasWEF0dDQrVqwgNjaWy5cv8+6777Jnzx62bt3KsWN3E2pfeuklJk2aZJpe++WXX0av19OqVSuOHTvG7t276dq1K6GhoWRkZBAXF8d9993H3Llz+eqrr4iKiiI0NBRHR8dyvUZFUU2hHOJupnH+egpxNysW1qKYQUoZZl5PKX9QU+7eQm5T6Nmzp+l2r169Cq0/YMAAXF1dcXBwoG3btly8eJF9+/YRFBREw4YNsbOzY9y4cab1w8LCeOKJJwCYOHEiu3fvBrQ9gpCQEEJCQnjzzTfZvXs3ERERBAQEmOp69dVX+eKLL0hKSjJN0a0o90o1BaVmqd8chL7kddz9yr353PMK0dHRtG/fnh49ehAWFsbevXvp3bt3ofXt7e1NP+v1erKztUS4sk6jnbtenz59CA0NJTw8nGHDhpGUlMTOnTvp27cvAP/3f//Hd999R1paGj169ODEiRPlfo1K7aaaglKzODeCNo8Uv9y+LrQfVe7N9+7dmw0bNuDm5oZer8fNzY2kpCTCwsLo2bNnmbbRvXt3Uw5DVlYWq1atMi3r1asXwcHBACxbtowHHnjA9Ji9e/ei0+lwcHCgU6dOfPvtt/Tp0weAs2fP4u/vz+zZs+nWrZtqCkq5qaag1DwPfwINi5gJ1MYRxiwGe5dyb9rf35/r16/To0ePfPe5urri7l4oSbZITZs25b333qNnz5489NBDdOnSxbTsiy++YNGiRXTo0IEff/yRzz/XRkvZ29vj5eVlet4+ffqQnJyMv78/AJ999hnt27enY8eOODo6MnTo0HK/RqV2U1Nnl0NVThdt7ax16mwyU+HQcjixAbLSwbMbBEzRDi/VYmrq7NpLTZ2t1G52ThDwnPalKEqZqcNHiqIoiolqCoqiKIqJagqKoiiKiWoKiqIoiolqCkqNJqWkuo2wUxRLUqOPlBrp3K1zLDi8gD9j/iTDkIG/uz/PtHuGh5o/VKHtOjs7c+fOnXz3zZ8/HycnJyZNmlShbSuKNVBNQalxjiceZ/Ifk7mTdffN+1DCIV7Z+Qqvdn2VZ9s/W6nPN3369ErdnqJYkjp8pJSLlJLw8ze4nZ4FgNGKDtF8sO+DfA0hr88PfM6VlCuV+nzvvfcec+fOBSAoKIjZs2cTGBhIq1atCA0NBQoH6QwfPpydO3dy8eJF/Pz8uH79OkajkT59+rBly5ZKrU9R7oVqCso9O3MtmaGfhzL22zAS72QCEHsjld8OxVu4Moi9HUtUQlSxyw3SwKbzm8xaQ3Z2NuHh4Xz22Wf861//KnHd5s2bM3v2bKZPn84nn3xC27ZtGTRokFnrU5SSmK0pCCG8hBA7hBDHhRBHhRAzi1hHCCG+EEKcEUIcFkJ0KWpbivVISs3kiYX7OHElf4iLUcLM4IPsPXPdQpVpbmTcKH2dtNLXqYiRI0cC0LVrVy5cuFDq+lOmTCE5OZn58+eb9jgUxVLMuaeQDbwmpWwD9ABeFEK0LbDOUMAv52sa8I0Z61EqwYqIWK4lZxS5zCjhq51nqrii/DycPdCXMnW2j6uPWWvInS4771TZNjY2GI1G0zrp6emmn1NTU4mL09LgCp7EVpSqZrYTzVLKy8DlnJ+ThRDHAQ/gWJ7VHgOWSm3M4F9CiHpCiKY5j7VajZ1fwc41i/oGW+CgpcupUqGn8wfULLX9EE+RQJxsyKSsNwk7m4jBKNHrypYXUNncHd0Z4D2ALReLPi7vbOvMUN+qn0HUx8eHr7/+GqPRyKVLlwgPDzctmz17Nk8++STNmzdn6tSpbNiwocrrq3RLH4ekGKjnDZPWWroai5q2JJB4QxrN9I4seDq89AdYWJWMPhJC+ACdgYI5iR5AbJ7bcTn35WsKQohpaHsSeHt7m6vMMrtpk0W8rYCsLEuXUmWSUjP59eAlDsQk5bvfUyTQQncFjMU80ALe7vE2526d40xS/r0We709n/T7hDq2dcq97dTUVDw9PU23X3311TI9rnfv3vj6+uLv70/79u1N02Xv2rWLiIgI9uzZg16vZ/Xq1SxatIhnn63cEVJVLikGbpy1dBVWId6QxkU9YKgeSY1mbwpCCGdgNfB3KeXtgouLeEihYSxSygXAAtCmzq70IpUiSSnZd/4GweExbDpyhczs0t/5e9/nbrG9hFxuDm78/PDP/Hb2N7bHbCc9O52ODTsy7v5xeDh7VGjbeQ8BFWXnzp2mn93d3U3nFIQQLFu2rMjH/PXXX6af16xZU6H6FKWizNoUhBC2aA1hmZSyqH/tcYBXntuegOWHsNRyiXcyWH0gjuCIWM4lpORbphcCG70go4gGoQNe7H9fFVVZMkcbR8a2HsvY1mMtXYqiVCtmawpCC5f9Hjgupfy0mNXWAy8JIYKB7sAtaz+fUFMZjZK9ZxNZHhHDlqNXyDLk3yHzcnNkfIA3Y7p6cicjm5eDD3LkUv4dP083J7r7ulVl2YqiVDJz7in0BiYC0UKI3IHjbwHeAFLK+cAmYBhwBkgFqvmB1Orn2u10Vu2PY0VELDE3UvMts9ULBrVtwoRAb3q1bIAu57BQI+C3lx4gKjYJ/Q93DxXF3Ehl95nr9PFraLZ6pZRlDr1X8lNzQCllYc7RR7sp+pxB3nUk8KK5alCKZjBKQk4nsHxfDNtPXMNgzP9m0cK9DuMDvRjZxRN3Z/sityGEoLN3fWKFyHcW6OsdZ83WFBwcHEhMTKRBgwaqMdwjKSWJiYk4ODhYuhTFyqm5j2qR+KQ0VkbGsioyjktJ+UdC2NnoGNa+CeMDvenu63bPb7q5q4edS+RAzE26eNevrLJNPD09iYuLIyEhofSVlUIcHBzyjZxSlKKoplDDZRuM7DiZwPLwGHaevEaBnQJaNXZmfIA3I7t4UM/JrtzPo8/TRL7ecZbvni41H/ye2dra4uvrW+nbVRTlLtUUaqjYG6msiIhl1f5Yrt7OfwWyg62O4R2aMSHQmy7e9SrlUIwQgtaNXTh5NZltx69y8koyrZu4VHi7iqJULdUUapDMbCPbjl9leXgMu89cp+B5xbZN6zKhuzePdWpGXQfbSn/+Gf1bMjNYG1Pwzc4zfDa+c6U/h6Io5qWaQg1w/noKwRExrN4fx/WcWUtz1bHT82gnDyYEeuHv4WrWE7QP+zflky2niLmRym+HL/PaoNZ4uTmZ7fkURal8qilUU+lZBv44eoXl4TH8da7wrJ8dveoxIcCLRzo2o4591fyZbfQ6pvVtwT/WHsFglHwbcpZ/P+5fJc+tKErlUE2hmjl9NZnl4bGsORhHUmr+uZdcHGwY0dmD8QHetG1W1yL1je7qyefbT5OQnMHKyDheHuBHIxc1DFJRqgvVFKqBtEwDG6MvExweQ+TFm4WWd2tenwmB3gzzb4qjXcnTRpubg62eKQ/48uHmE2RmG/l+93neHNrGojUpilJ2qilYsWPxtwmOiOHXg5dITs/Ot6yeky2jungyPsALv8bWNcrnyR7N+WrHGW6nZ7PsrxhmBN2Hq2Pln9hWFKXyqaZgZVIysvntUDzLI2I5FJtUaHnPFg0YH+jF4HZNcLC17F5BcZztbXi6lw9f/nmGOxnZ/Bh2gZce9LN0WYqilIFqClZASkn0pVssD49lfdQlUjIN+Za7O9sxqqsn4wO88XUvfxZAVXq2ty/fhZ4nLcvAD3su8NwDLSx+aEtRlNKppmBBt9OzWBcVz/J9MRy7nH/GUSHggfvcmRDozUNtGmNnY87k1MrnVseO8YFeLNpzgRspmQRHxPBsb3U1sqJYO9UUqpiUkgMxSSwPj2Hj4cukZeXfK2jkYs/Ybl6MC/Cq9mP8p/ZpwU9/XSTLIFkYco4nuzevds1NUWob1RSqSFJqJmsOXCI4IoZTV/OHs+sE9G/diPGB3vRv3RAbfc1442xWz5ERnT1YGRlH/K101kVdYkw3r9IfqCjVnZRwfD0cWArGbNDbgDSC0Qg66/7/rZqCGZUWZ+lRz5Gx3bwYG+BJU1dHC1VpXs/3a8mq/XFICd/sOsvILp4Wj+tUFLOSEta9BFE/abc9m+bcb4A1U2DkQtBZ7/k11RTMoMQ4S53goTbaXkFfv4Y1/g2yZUNnhrZvwqboK5xLSGHL0SsM9W9q6bIUxXyOrrnbEAo6shpaPgidn6ramu6Bagr3YNuxqywJu5AvVOZORjbO9jalxll6uzkxLsCLMV09aVS3dl3hOyPoPjZFXwHg651nGdK+iQrJUWqu/UtKX66aQvU394+TzNtxBoDWLXPulPD4V3sY2q4J6w7FFx1n2a4JTwR607PF3TjL2qa9hyt9WzUk5FQC0ZdumT2yU1Es5uYFuHyo5HWSLlZJKeWlmkIZHIpNMjWEgs5cu8OX1/Iva+FehwmBWnBNg2LiLGubGUEtCTmlJaZ9teOMagpKzXEnAY6thehVELuv9PVdrPvwqWoKZbAyMrbUdexsdDzs35TxAV4EliPOsqbr7utGF+96HIhJ4q9zN8wW2akoVSIjGU5s1BrB2R3aSeSysuJDR6CaQplcvpVe6jrbXu2HdzW/rsCchBDMCLqPKUsjAfNFdiqK2WRnwJltWiM4uRmyC74vCPB5ANqPguO/wdnthbfRIgi6PF0FxZafagpl0KxeySeG6zrY4FGvZg4prUwP3t+I+5u4cOKKiuxUqgmjAS7u0RrBsXWQfqvwOk07gf8YaD8S6jbT7uv8FOxfrF2ngHbYFKGHJ1aBTfmz0KuCdV9FYSXGdfMucfmYbl41fmhpZdDpBC8EtTTd/mZn0edpFMWipIT4KPjjbfhfe1jyiPbmnrchuLWEfv8HL0XC87ug10t3GwKA3hYCp8L0UNDlzBAsdFbfEEDtKZSJv6crMwf48fn204WWtfeoy8yH1AygZaUiOxWrlXgWon/R9goSC/9fx7mJdmjIfzQ066xNUFYDqaZQRq8MbEUn73osDbtAXG60gYCVz/fEyU79GsvKRq/j+X4tePtXFdmpWIHkK3BkjdYI4g8UXm7vCm0f1Q4P+Txg1VciVxb1blZG2cZszmauJ7ZOMFdTtU8IN/VwM/MqTnYeFq6uehnVxZPPtqnITsVC0pK0E8HRq+BCqDYnUV56e2g9RGsEfoPApnYNKzdbUxBC/AAMB65JKdsXsTwIWAecz7lrjZRyjrnqqQgpJbNDZrPl4pZ896fpBE9ufJJlDy/Dw1k1hrJSkZ1KlctKg1N/aI3g9BYwZOZfLnTayCD/MXD/cHCwTMa5NTDnnsJiYB6wtIR1QqWUw81YQ6XYG7+3UEPIlZieyLyD8/iwz4dVXFX1piI7FbMzZMP5Xdp5guO/QWZy4XU8A7RG0G4EODeq+hqtkNmagpQyRAjhY67tV6VN5zeVuHzLhS3M6TUHW716UysrZ3sbnunlwxcqslOpTFLCpf3aHsGRNZByrfA67q2hwxhoPxrczB/8lG2UoBfa92qg1KYghGgMfAA0k1IOFUK0BXpKKb+vhOfvKYQ4BMQDs6SUR4upYRowDcDbu+ThoeaQlFE4KzmvTGMmaYY01RTu0TO9fVmoIjuVypBwUmsE0au0+YcKqusJ/qO0vYLG7at05JAs8N3alWVPYTGwCHg75/YpYAVQ0aZwAGgupbwjhBgGrAWK/KgopVwALADo1q1blf9uW9ZrSUhcSLHLGzo2xNnWuQorqhlUZKdSIbfitKmoo1fBlejCyx3ra4eF/MeAVw+rD7exFmX5LblLKVcCRgApZTZwDxN9FE1KeVtKeSfn502ArRDCvaLbNYcxfmPQi+I/wTau0xhBzRyzbG5T+7TAVq/97haGnCsURKQo+aTegMgfYNEw+F872PrP/A3B1kk7LDRhBbx2Cob/D5r3Ug3hHpTlN5UihGhAzt6PEKIHUMS13vdGCNFE5MwaJ4QIzKklsaLbNQevul7854H/FNsYjlw/wieRnyBlddlBtB65kZ0A8bfSWRt1ycIVKVYnM0U7WfzzOJjrBxte0aaeyKWzAb/BMPI7mHUaRn+vDSmtBlcPW6OyHD56FVgPtBRC7AEaAqNLe5AQYjkQBLgLIeKAdwFbACnl/JxtvCCEyAbSgPHSit9VH27xMB3cO7Dq1Cp+jv6BDJ2grkGSbmtPpjGTJceWUMeuDi90fMHSpVY7eSM75+86yygV2akYsuDsn9qhoRMbISu18DrevbSri9s+DnUaVH2NNVSpTUFKeUAI0Q9oDQjgpJQyqwyPm1DK8nloQ1arDa+6Xrza7VX+iPqBeB04G+E/QZ/wyo5XyJbZfB31NXVs6jCp3SRLl1qtqMhOBdBC7WP3QfRKOLoW0m4UXqexv9YI2o+Cel5VX2MtUJbRRwXf4boIIZBSlnT9Qa0R5BXEB30+YHbIbCSSjyM/xsnWidGtSt2ZUvJQkZ21lJRw9WjOENLVcKuI7JJ6zbWTxf6joZG6yNHcynL4KCDPzw7AALSRQ6op5BjqO5S07DTe3fsuAHPC5uBk48SwFsMsXFn1UTCyM/T0dfq2Uuls1dL1M0Uf7snr5oWcyed+gYTjhZc7uWtTUfuP0S4wUx8QqkxZDh/9Le9tIYQr8KPZKqqmRvqNJCUrhf9G/BeJ5K3db+Fo40h/7/6WLq3ayBvZ+fXOM6opVDeJZ2H9y3Bx9937bsXCpQPg0UWLrTz6q7ZXEBde+PF2ztDmEW2PwDcI9GpqNksoz289lWKuJ6jtJradSEpWCl9FfYVBGpi1axZfPfQVPZr2sHRp1ULByM79F2/StbmK7KwWUhJh8XBIjs9/vyETFg3VppqODS8cW6m30yad8x8NrYaArQqrsrRSh6QKIX4TQqzP+doAnESbyE4pwvMdnufZds8C2pXOL//5MlHXoixcVfUghODF/veZbqsQnmok4rvCDSFXdjrEhOVpCAJ8+8KjX8KsUzB+mXaRmWoIVqEsewpz8/ycDVyUUsaZqZ5qTwjBK11fISUrhZWnVpKWncaMbTP4fvD3tGmgTpKVJn9k5zUV2VldnPq99HWadb47+VzelDLFqpS6pyCl3JXna49qCKUTQvB2j7cZ3kKbADY5K5nntz7PuaRzFq7M+gmhIjurJUMpo9TtXGDaTuj5omoIVq7YpiCESBZC3C7iK1kIcbsqi6yOdELH+73f50GvBwG4mXGTqVumEpesemppHvZvindOROdvhy8Tk1hEM0mKAAAgAElEQVTKSBbF8rxLOW/m26dq6lAqrNimIKV0kVLWLeLLRUpZexMo7oGNzoaP+31Mz6Y9AbiWdo0pW6ZwNeWqhSuzbrmRnYApslOxYlJCegmfE4UOev2t+OWKVSnzLFFCiEZCCO/cL3MWVZPY6e34rP9ndGnUBYBLdy4xbes0bqQXcbWmYjKqiycNXbQYxFX747iWnG7hipRibZ8D0SuKWSjg8fnapHRKtVCW0UePCiFOo8Vm7gIuAJvNXFeN4mTrxLwB82jjpp1oPnfrHNO3Tud2pjoKV5zcyE7AFNmpWKHQT2D3p9rPOlsY/7M2MZ2jm3ZffR/oOM5i5Sn3rix7Cu8DPYBTUkpftCua95T8EKUgFzsXvh34LS1dtZOox28c58VtL5Ja2pWftdiTPZpT10EbILfsrxhupZY65ZZSlfYt0PYSQDtENPp7uP9hLdXMsf7d+5VqpSx/sSwpZSKgE0LopJQ7gE5mrqtGqu9QnwWDFuDlok3kFZUQxcwdM8kwZFi4MuuUG9kJcCcjm6VhFyxZjpJX1M+w+fW7tx/7Gto+Zrl6lEpTlqaQJIRwBkKBZUKIz9GuV1DKoZFTIxYOWkgjJy0k/K/LfzFr1yyyjNXzU7BNTkBO7vfK9kxvXxxttRyLRXsvkJZZ4XwnpaKOroV1L969PWwudCpxUmSlGilLUwgB6gEzgd+Bs8Aj5iyqpvNw9mDhoIW4OWjHXXfG7uQfu/+BwVj93vCa1nXI972yudWxY0KgNq4hN7JTsaDTW2H1FJA5CXkPvQeBUy1ZkVLJytIUBPAHsBNwBlbkHE5SKqCFawsWDFyAi512te6m85t4/6/3VXpbEab29TVFdi5QkZ2Wc2E3rHgKcvdq+8yCB16xbE1KpSvLFc3/klK2A14EmgG7hBDbzF5ZLdDarTXfPPQNjjbanC+rT69mbuRc1RgKaOp6N7LzsorstIy4/VocZnbO0ODu0+HBf1i2JsUs7mVowDXgClqOciPzlFP7dGzYkS8f/BI7nZYnu/TYUuYfmm/hqqzP8/1amqbUn7/rLAajapxV5upR+GkkZN7Rbnd6CgZ/qDIOaqiyXKfwghBiJ7AdcAemSik7mLuw2qR70+58GvQpNkIbfvn1oa9ZcnSJhauyLi0bOjOsvRbRmRvZqVSB62dg6eOQnqTdbvs4PPoF6NRQ05qqLH/Z5sDfpZTtpJTvSimPmbuo2qifVz8+7PMhAu3T19zIufxy6hcLV2Vd8k6U99XOM+owm7klxcLSxyDlmnbbbzCMXAg6vWXrUsyqLOcU/k9KqQIBqsAQ3yG81+s90+05YXPYdG6T5QqyMrmRnQBHLt0m9PR1C1dUgyVfhaWPwu2cCRx9+sDYJWBjZ9m6FLNT+4BWZqTfSN4IeAPAFOu5I2aHhauyHjPy7C18rabVNo/UG/Dj43AjZ6p3j24wYbkKwaklVFOwQhPbTuTFTtrFQQZp4LVdrxEWH2bhqqxDd183U0RnbmSnUonSb8NPo+BazlHixu3hyVVgr4KOagvVFKxU3ljPLGMWM3fMVLGeaCE8M1QIj3lkpsLy8RB/QLvd4D6Y+Cs4uVm2LqVKqaZgpXJjPce2GgtgivU8lqjO8+dGdgKmyE6lgrIzYeUkuJgz16WrF0xaB85q9Hlto5rCvbh+Gv54Gxu06Sh0SDCa7+raomI9p2+dbh2xntdOwObZd8Pas1K1sJUqoCI7K5khG1Y/B2e2aredG2sNwdXznjd1LPEY74e9z/NO2fzD3Y0IvbHWjhKLTojmvb3vkZgzWCuzmlzWYbamIIT4QQhxTQhxpJjlQgjxhRDijBDisBCii7lqqRRRy+Gr7hA2D4H2j1yPQbvsv7R82grIjfUc4D0AuBvrGZsca7bnLFXkIvimJ+ybD1lp2n3Jl7U3liqavylvZOf6Q/EqsrO8jEZY/zc4vl677VgfJq6FBi1LflwRvov+jnEbxrHy1Er22krWuTgz2dnAf/b9p9Y1hnkH5/HEpidYfXo1GTqtG1y3EcyNsP4ZC8y5p7AYGFLC8qGAX87XNOAbM9ZSMYlntVkhZRFveCc3wu7PzPr0Njob/tv3v/RqpqVXXUu7xtQtUy0T63n1KGx45e6EaHkdWa01iiqQN7LTKFGRneUhJWx+Aw79rN22c4Gn1kDjtve8qYgrEXx+4PMingNWnFzBhnMbKlhs9REaF8q3h78tvEBKlhxbwrYY654lyMZcG5ZShgghfEpY5TFgqdTa5l9CiHpCiKZSysvmqqnc9i8uuiHkCv045+Sc+fYP7YD/SSMvCCcOyFQu3bnE1F8eZrFtC9yE2f6MhV09ApTwSSd8IfR8sfjllWhUF08+23aahOQMVu2PY+ZDfjRyMc9srTXS9jkQsVD72cYRnlwJHuXbYV9xspg4zpz/Eh+Ff8TWi1vLte3q5nDC4aIX5EwLsuLECgY2H1iFFd2bKnw3KcQDyHsMJC7nPutrCgknS16enQEnzX+RmRMwTwimNG3EMXt7zpPB83cO8f2Vq9S10FxA05o0JN7GhmbZ2Sy4kgA3z2snLavgIicHWz1T+/jywaYTpsjON4e2MfvzFmfakkDiDWk00zuy4Olwi9VRJoViNH+qUI7y2aSS99RuZ95mR6y63gbg7C3r3qu15Inmoj5WF/nOJoSYJoSIFEJEJiQkmLmsIjg1qPrnLIaLlMy/kkDLzEwATtjbMaNxI1ItNDlZvI0NF21tibfJ+Xxh4wh62yp7/ie6N8fVUXu+n8IuWjSyM96QxkW99t2q5YvR1MPoH+C+h8q9uSPXj3At9VolFVfz1bOvZ+kSSmTJPYU4wCvPbU8gvqgVpZQLgAUA3bp1q/qPxP6j7x53BZplZ+f7Todx8HjVnRKpDyxIvcYzW54jNjmWQw72vNxjNF89+AX2envzPvnxjbBqYvHLs9O049QD51TJFbDO9jY83bM5X/x5hpRMA0vDLvC3AX5mf95q6+Cy/DGaj38NbR8t16bOJZ1jXtS8Mh0WmuI/hZc6vVSu56lulh1fxseRHxe7/OEWD1dhNffOknsK64FJOaOQegC3rPJ8AkDLB6H9KNPNBVcS2BB3WTtc4txEm1dep6/Sr0bOTfPFeu67so9ZobPJwmje524zHFoPK/n3Fb4Avu0Hlw+Z869iUjCyMzVTpcUW6ehaWJ/njXnYXOg4/p43E38nnnf2vMOI9SPyNQQnG6ci12/p2pJn2z+LXqevFV9jW4+lg3vRE0nf73Y/E+637uhScw5JXQ6EAa2FEHFCiOeEENOFENNzVtkEnAPOAAuBGeaqpcKEgBELYOD7UM/77v32LjBlW/77qlBRsZ5v737bvLGeOh2MXQoD/gl184xjFzoY/hk45OwaXz8JCwfA7v+ZfZhqocjOcAsO17VWp7YUiNH81z3HaCamJfJR+EcM/3U4a8+sxZizLZ+6PnzS7xN2jN3BtA7TaOCgHW51MRh5MkPH4iGLqWtXt1JfjjVzsHFgwaAFTG4/mfr29U33C6MjPwz+gTq2dSxYXemEtY+ZLahbt24yMjLScgVICV920SYLc2sJLx+wXC05Tt44ybN/PEtypnZl7yi/Ubzb812Euc8zSMnwRR24qIfmBtgwORpux8PaF+DczrvrNX8ARsyHel7FbqqiLt9Ko+9/d5BlkDR1dWDX6/2xs6naHeHhP/jn/11Yiwu7tfmMclPT+syCAe+U+eHJmcksObqEpceWkpZ993xJY6fGzOg0g0dbPoqN7u6RaCklaV92weHGOXRW8n/EUozSSOcfBmC0uY4uuyGHnvvTYrUIIfZLKbuVtp66ovleCYE5h56Wh8ViPYtqOnWbwVO/wpCPIPf8xsXd8E1vOLzKbKWoyM5iVCBGMz07ncVHFjN0zVC+PfytqSHUt6/P691eZ+PIjYz0G5mvIYB2xbkTQr25oF18am3vF6VRf7cawqpiPXU66PECTNsBjdpp92XcgjVT4JfnIC3JLE87XUV25nflSP4Yzc5li9HMMmax6tQqHv71YT7Z/wm3Mm4BUMe2DjM6zmDTyE1MajfJ/IMaFItQTaEGsbpYz8btYOqf0DPPyc0jv2h7DedDK/3pWhSI7PyjNkd2Xj8DP464G6PZbgQ8UnKMplEa2Xx+MyPWjWBO2BzTMFM7nR2T2k5i88jNvNDpBZztnKviFSgWoppCDZMb66nttmqxnqtOme+wTalsHWDwf7QJ1lyaaffdjoMlj8CWd7QL/yrRCwVCeKrbObNKkRRTOEZzxIJiYzSllITGhTJuwzjeCHmDi7cvAqAXekb5jWLjyI28HvA69R3qF/l4pWZRTaEGGuI7hPd6vme6/X7Y+2w8t9FyBQG0CIIX9mifWAGQsPcL+G6ANuNqJan1kZ3JV7WGUMYYzYPXDvLM788wY/sMTty4+3cY7DOYXx/7lfd6vUeTOk2qonLFSqimUEON8BvB7IDZgBbr+fbut/kzxnIjHwAtrGX0Iu1Tq33OEMUr0bCgH+z7ttKm3n4xz97CVztq0bTa9xCjefLGSV7c/iKTNk/iwLW7o4N6N+vNiuErmNtvLr6uvlVVuWJFVFOowZ5q+5TpKlKDNDBr1yzLx3oKAR3HwfTd4J0z1052unYV9E+jILni5wEC80R27jtfSyI7i4rRfOqXQjGaMbdjeCPkDcb8NoaQuBDT/R0bduSHwT8wf+B82ja491lSlZpDNYUablqHaYViPQ9eO2jhqoD6zeGZDTDgXcgd0nh2O3zdE47/VqFN17rIzuJiNB3vngO4lnqNOWFzeGztY2w+vxmZM82YX30/vnzwS34c+iMBTQIsUX2NZqyGI+BUU6jhrDrWU6eHPq9qV4U3yJmvKO2GFly07kXIKH/MZsHIzhNXbldGxdYnOxNWTswTo+mdL0bzVsYtPo38lGFrhrHq1CqypTYFiKezJx/2+ZBVw1cR5BVk/gsda5nk9Cw+2HScLv/eSrZBawxGKS06YWNZqaZQCxSM9byTdYfpW6eXOt1xlWnWGZ4PgYApd+87+BPM7wOxEeXaZOHITit5rZXJFKOZE9ri3BgmrQVXT1KzUllweAFDVg9h0dFFZBi0UV7uju683f1t1j++nuEthqMvZkSSUn5pmQae+m4fC0LOkZSnCRiNMG5BGHcyrHtuLtUUaomiYj2nbZlm2VjPvOyc4OFP4ImVUEcbPcTN8/DDYNjxofYGeI/yRnb+VtMiO4uK0Zy0jsx6Xiw7voyha4by5cEvuZOlXbjmYufCzC4z2ThiI+PvH49tFU5vXtv8HB7DobhbRS47cSWZJXsvVG1B90g1hVrEqmI9i9NqMLwQBq2GarelAXZ9pDWHxHv7tF9jIzuLiNE0PPkL626f4pFfH+Gj8I+4kX4DAEcbR6b4T2HzyM1M8Z+Ck23RM5lWtsu30/N9r03WlzLFyjorn4JFNYVaxk5vx2f9P6NLIy128dKdS0zdOpXEtEQLV5aHc0NtKOXwzyD3TexSpHY4af+Sexq6OqqLJ41ctOkYVu2P41pNeJPa/i9TjKa0cWT7oDcZFflv/rHnH8SnaJEkNjobxrcez6aRm5jZZSau9q5VWmLucfTc77XF+espnLueUuI6N638vIJqCrWQo40j8wbMMw09PH/rPNO3Ted2phWdjBUCuj0Lz4dCs5zc4KwU+O1lCH4SUsp2UZqDrZ4pfbTx9rmRndVa6CfadOTAPidnnmzTlb8fnW+KeBQIHmnxCL89/htv93gbd0d3S1ZbK6RnGVgXdYkJC/6i/9ydJKeXfKizVWPrniZENYVaysXOhfkPzaelq3Yy9sSNE8zYNoPULCs77u5+Hzy3Bfq+oWU2AJzcCN/0gtPbyrSJfJGdf1k2srNC9n0L2+dwxM6OqU0aMaWxG9F3YkyL+3v1Z/Wjq/mgzwd4uniWsCGlMpy+msyc347R48PtzAyOIuxc2fa2J/bwMW9hFaSaQi1W36E+CwctxMtFyzk4lHCIl3e8bBqpYjX0tvDg2/Ds71CvuXbfnauwbBRseh2ySs5Edra34elePgCmyM5q5+Ayzm17i1cauTPBowl/OTqYFgU0CeCnYT/xxYNf4FdfRZGaU1qmgV/2xzH6m70M/F8IP+w5n2+EUbfm9Zk7piMv9m9Z5OOf79eCwe0aV1W55WLJjGbFCjR0asjCQQt5evPTXE29yr7L+5i1cxaf9v8UW52VjVDx7q5dCf37mxD1k3Zf+AI4twtGLYSmHYt96LO9fFgYco60LAM/7DnPc318cbKrHv/84w8s4uu97/ObR1OMea4naNugLTM7z6Rns57qOgMzOxZ/m+CIGH49eKnQ4aF6TraM7OzJhEAv/BrfvYJ8SLumBEfEsC7nSKdeL3hzaJuqLLtcqsf/CsWscmM9n/n9GW6k32Bn3E7eDn2bD/t8aH3j2B3qwuNfgd9A2PB3SLt5N/rzwbeh18tFzgZaPyey84c957mZmkVweCyTH7DuuX0S0xJZGPIOKy+HkOVyN8LRp64Pf+v8NwY2H6iagRmlZGTz26F4lkfEcii2cAZIjxZuTAj0ZnC7JjjYFv435+/pir+nPxu+FxipPlE7qikoAPi6+rJg4AJTrOfmC5txsnWqmljP8mj3OHgFwtoZcG4HGLNg23twemtO9Gfh3OypfX358a8LZBkkC0PP8VSP5lUe2VkWyZnJLD66mB+PLCHNmGEKxWmid2JG9//jkZaPFEo7UyqHlJLoS7dYHh7L+qhLpGTmzxd3d7ZjVFdPxgd44+tu3VnL5aX+ZSkmubGeU7dMJS07jdWnV+Nk68Tr3V63zsZQtxk8tQbCv4Wt74IhQ5vu4ZsHtAvhOozJt3pTV0dGdvZkRWSsKbJzbDfz5Ubfq/TsdJafWM73R743pZ0B1DcYmOrqz9jHlmBv41DCFpTyup2exbqoeJbvi+HY5cKj8Pr4uTMh0JuH2jS2yg8SlUk1BSWf3FjPGdtmkGnM5MdjP+Js68yMTjMsXVrRcqM/ffvBmqlw9cjd6M9Tv2vNwbGeafXn+7Vg5f5YpIT5O88yqosnep1lG16WMYu1Z9Yy/9B8U9oZQB2jkadv3WaSzzDqPPpNialpyr2TUnIgJonl4TFsPHyZtKz8ewWNXOwZ282LcQFeeLlVzUV/1kA1BaWQ7k2787/+/2PmnzPJltl8c+gb6tjW4el2T1u6tOI1bqtFf/75PuydB0gt+jPmL+1wkm8f4G5k58boy5y7rkV2DvNvapGSjdLIHxf+YN7BecQk3x1aaiclE24n81zSbeq3eRwe/Vo1hEqUlJrJmgOXCI6I4dTVO/mW6QQEtW7E+AAvHry/ETb62vd7V01BKVJfz7582PdDZofMxiiNzI2ci5OtE2NajSn9wZZiYw+D/g33DYS1L8DtS3ejP3v9DR78B9jY80JQSzZGXwa0yM6h7ZtU6eExKSWhl0L58uCX+dLO9ELH42kGpl+Lp4nBAK2GwMjiYzSVspNSsu/8DYLDY9h05AqZ2cZ8y5u5OjAuwJsx3TxpVq9wKFFtopqCUqwhPkNIy0rjn3v/CWixno42jqbZVq1Wi35a9OeGV+Dor5iiP8/ugFELae/Rhn6tGrLrVIIpsjM3wtPcDlw9wOcHPs+XdgYw2KMfL53Yjc/1nAkKffrAmMXaNRpKuSXeyWD1gTiCw2MLTT+h1wkG3N+ICd296evX0OKHEa2FagpKiUb4jSAlK4X/F/H/kEj+sfsfONk48aD3g5YurWSO9bXoz1ZDYdMsyLgNV6NhQRAMnMOMfqPYdSoB0CI7zd0UTtw4wRcHviD0Umi++3t79OblNs/Qdt0rcD1nCg7PAJgQXGSMplI6o1Gy5+x1gsNj2XLsClkF5l/ycnNkfIA3Y7p60qiuOnFfkGoKSqmeavsUKVkpzIuaZ4r1nPfgPBxtHbmT8+HKKqc9y43+9O4Bv06HmL2m6M/Aln8wwHMy2+OEKbIzN8LzXkkp2X91f5G/i5jbMcw7OI/NFzbne0ynhp2Y2WUm3eq1gqWP5onR9IcnV4G9dc+PY42u3U5n1f44giNiiL2R/yp3W71gULsmTAjwplfLBujUXkGxVFNQymRah2mkZKew6MgisoxZTN82XYt0zDkPF6eD3y/8zhCfIZYttCi50Z97Pocd/wFjNuLsdr6x28/fdM/yhzGAb3ae4bun7z2O8uSNk7wR8gbnbp3L97tYc3oNR64fYc3pNRjk3VEtfvX9mNl5Jn09+yKy0mDZaIjPiUdt4FcoRlMpmcEoCTmVwPLwGLafuIahQPxlC/c6jA/0YlQXTxo421uoyurFrE1BCDEE+BzQA99JKT8qsPwZ4GMgd4LxeVLK78xZk1I+Qghe6fIKN9NvsvbMWlPGby6jgNkhs3GzdyOwaaCFqixBbvRnywe1oavXT2GXmcS3dv9jRXYQc45P5MSV1tzfpG6ZN3k97TpTt07lZvrNfPcbBby7991893k6e/Ji5xcZ5jsMndBBdkYRMZprtWnDlVLFJ6WxMjKWlRGxxN/KPx26nY2OYe2bMCHQm0BfN+u8xsaKma0pCCH0wFfAQCAOiBBCrJdSFgwHXiGlfMlcdSiVRwiBb93ip4YwSiMfhH/AFP8pxa5jFQa9CdG/aFdCA3UI53V5gnmb9zOkX+8yb2b7xe2FGkJB7o7uTO8wnZF+I++mnRmyYfWUPDGaTeDpdeCqZjYtSbbByJ8nrhEcEcvOk9cosFNAq8bOTAj0ZkRnD+o52VmmyBrAnHsKgcAZKeU5ACFEMPAYYAWJ8Up57buyr8TlZ5PO8mbom1VUTQU1Kpg1sIFdoRsqbfM2woZNIzfhaJPnhLHRCOtfyhOj6abtIbi1qLTnrWlib6QSHBHDqsg4riXnn8HXwVbH8A7NmBDoTRfvemqvoBKYsyl4AHkDgOOA7kWsN0oI0Rc4BbwipSwUGiyEmAZMA/D2LjynjaJYIxudTf6GICVsfh0OLddu29eFiWugkfXPnFnVMrONbD12leCIGEJPFw5Uatu0LhO6e/NYp2bUdVDDdiuTOZtCUS274CCV34DlUsoMIcR0YAlQaKyjlHIBsACgW7duVjnQpbbo2bQne+P3Frv8vnr3MdV/ahVWVHFZBgMb169kqGEX9iJnbny9PXQcn3MldNGfPrfFbGPrxa3FbrdHsx7579j+L4jIOWVm4whPrIRmnSvhFdQc5xLusCIill/2x5GYkplvWR07PY928mBCoBf+Hq5qr8BMzNkU4oC8s415AvF5V5BS5o0qWgj8PzPWo1SCEX4j+PHYj1xLu1ZomU7oeKv7WwQ0ufdRPJZ2NaAtn2/ewWe2X9NJdxZIhdBv4FoMPPoF1Ckca9m9aXcir0YWeV5BL/T5z62EzDXFaKK3g/HLoHlPM72a6iU9y8AfR6/w874Y9p2/UWh5R696TAjw4pGOzahjrwZMmps5J/aIAPyEEL5CCDtgPLA+7wpCiLyTzjwKHDdjPUolcLV35bvB33G/2/357tdJ+Ljvx9WyIYAW2XnTwZvRme/ytRyFzBv9+XVPbUruAho4NuC7Qd9xX7378t2vk/BZ/8/o2DAn9Gfft9qcTABCD6N/gPsGmPPlVAsF4yzzNgQXBxsm9WzOppf7sO7F3owP9FYNoYqY7bcspcwWQrwE/IE2JPUHKeVRIcQcIFJKuR54WQjxKJAN3ACeMVc9SuXxdfVl5fCVHEo4xN83TiRRB55GGOQzyNKllVtuZOcX20/z34xRuHd/mLExc+DmBUi5pl1PEDgNBs7Jd6Vxq/qtWPPoGg5eO8irm542/S6CvIK0FQ7+BJvfyFlbwOPfQJtHqvrlVZmk1EzWRcXTT+Ye5c1/tDct08DG6MssD49h/8XCe1jdmtdnQqA3w/yb4min5nyyBLO2XinlJmBTgfv+mefnN4FqMlRFyUsIQadGnXCWkEj1SZUqSd7Izg+jXRj+yk6c/vyH9sYOxUZ/CiHo0rhL4d/F0V9h/d/uPsHwT7UrrGuozdGXeW3VIVIzDfxpp13YmGWQLA27QNfm9QkOj2VtVNFxlqO6eDI+IH+cpWIZan9MUXIUiuw8lMTkx74Cv8Hw28tljv4E4NQW7VoEmTMb58D3odvkqnsxVezklWT+tvwg2QUvHgD+ue5okY/p2aIB4wO9io2zVCyj9k0WriglmNrXF1u99ll/Yeg5bYrlto/CC2HQor+2Um7055JHICkGkq9qJ5Fzp7OQRu1qZWPOJ+K+b0Dvl6v+xVShxXvPF9kQCnJ3tuP5fi3YMSuI5dN68FgnD9UQrIzaU1CUPApFdh68xNgAL6jbNCf6cwFs/efd6M95gWDIApkNnk0BvdYcsnOmXugxA/q/ZdHXVBUiL5R8ZbdeJ/hyQudaEWdZ3am/jqIU8Hy/FuQOgZ+/6+zdSdZ0OugxHZ7fpc1mCpCdpjWEovj0gcEfQA0dTy+lJPLCDV5beYgzCXdKXLdBHTuG+TdVDaEaUH8hRSkgN7ITMEV25tOoDUzdDk38S95QVlqNbAg3UzL5fvd5Bv0vhNHzw1h9IA5ZypGjIe2bVE1xSoWpw0eKUoRSIztt7MGmlICWy1FmrLBqSSn569wNgiNi2FxEnGVTVwfSMg0kpWUVeqybkx3T+qq5naoL1RQUpQjtPVzzRXaGnL5Ov4LpbHZ1St6IXfUPyrl+J4PV++NYEVF0nOVDbRoxPlCLs0xIzuDd9UfYeuyqaR2dgJXTe+BZ36mqS1fKSTUFRSnGjKCWpsjOr3ecKdwU2j4G53YWv4F2j5uvODPKjbNcHh7D1mNXC8VZers5MS7Aq1CcZRNXB76d2I1ryemkfypAgl6nw6eRuvagOlFNQVGKEejrRrfm9Ym8eDMnsvMGXZu73V2h4wTYvxguHyr8YCd36PNaldVaGa7eTmdVZCwrImMrFGfZyMWB2BpxOWPtpJqCohRDCMGM/i2ZvDgSgK93nOX7Z/I0BVtHmDa1yc0AABxOSURBVLQOtrwD0avyPFIHz22BetY/zbvBKNl16hrLw2P5s5g4ywmB3ozs4qHiLGsJ1RQUpQT9Wzfi/iYunLiSzPYT1zhx5Xb+yE7H+vDYPBjyISzrpd2n00ODlpYpuIwuJaWxMiKWlTnXY+RlZ6PjYf+mjA/wUnGWtZBqCopSAiEELwS1ZGawNpLom51n+Xx8ERkI9tZ/3DwrN84yPIadpxIKDSNt3diF8YFeKs6yllNNQVFK8bB/Uz7deoqLian8diie1wa2xrtB9RlNE5OYyorIGFZGxpFQIM7S0VbP8A5NmdDdm85eKs5SUU1BUUplo9fxfN+WvPVrNEYJ80PO8sGIUi5cs7DMbCNbjl0hODyW3WcKx1m2a1aXCYHePKriLM3OVq8jI+d7daCagqKUwaiuHny27RTXkjP4JTKOvw/wyzcc01qcS7hDcEQsq4uJs3ysswcTArzx93S1UIW1TxNXBy7e1r5XB6opKEoZ2NvomdqnBf/ZdJxMg5Hvd5/nzWFtLF0WoMVZ/n7kCsvDi46z7ORVjwmBXgzvoOIsldKpfyGKUkYTunszb8cZbqVl8dNfF5kRdB+uTpY79HLqajLLw2NYc+AStwpML+HiYMPIzh6MD/SmTdO6xWxBUQpTTUFRyihvZGdKpoElYRd4eYBfldaQmpnNhsOXCQ6P4UBMUqHlAT71GR+g4iyV8lNNQVHuQd7IzkV7zjOljy9Odub/b3Q0/hbLw2NYdzCe5Iz8U3XXd7JlZBdPJgR6cZ+aUkKpINUUFOUe1K9jxxPdvfl+d05kZ3gskx/wNctz3cnIZn1UPMERMRyOu1Voea+WDRgf6M3gdo2xt1F7BUrlUE1BUe7RlD6+LA27QJZBsjD0HE/1aF5p4TFSSg7F3SI4PIb1h+JJzTTkW+7ubMforl6MD/DCx72UWVoVpRxUU1CUe1RsZGcF3ErLYl3UJX7eF8OJK8n5lgkBffwaMiHAiwEqzlIxM9UUFKUcnu/XgpX7Y5FSi+wc1dXznrchpWT/xZv8HB7DpujLpGflD65pXNeesd28GNvNCy+36nMFtVK9qaagKOXQoqEzw/ybsvHw5aIjO0twMyWT1QfiCI6I5cy1/NnGOqFNwjch0Jug1g2xqSZXwSo1h2oKilJOL/RrycbDWmTnVzvOQAlBa1JKws4lEhwey+9HrpBpyL9X4FHPUQuu6eZJU1dHc5atKCVSTUFRyqm9hyt9/NwJPX2do/G3ad1Sgl5gkJKE5Awauthz/U4Gv+yPIzg8hguJqfkeb6MTPNSmMeMDvejj1xB9CcE1ilJVzNoUhBBDgM8BPfCdlPKjAsvtgaVAVyARGCelvGDOmhSlsmQbjIWuJAYwGmHYF6F08HRl18kEsgsE1zRvoMVZju7qSSOX6jEfjlJ7mK0pCCH0wFfAQCAOiBBCrJdSHsuz2nPATSnlfUKI8cD/A8aZqyZF+f/tnXmcXUWVx7+/BAiQhLAkhCUkLCaooKMmEgKobIIoA4OyRBxAcANBFMVRFAUEJThCRAeEIIiMjMmIgLghCkRglFUQBRRxYUeQTVkEQn7zx6nXffPyQrqT7n7vdp/v5/M+/e59dW9X1a1bp+qcU6f6kh/c+mDL9QMAj/zjOS6/4+Gu45WGD2Onzcaz7xYT2XLjl97OMknaSX/OFLYA7rL9JwBJc4HdgapQ2B04tny/APgvSbKbt/9Iks7j4lvuX2qaTcY1trOcwJojc+OapPPpT6GwPnBv5fg+YPqS0theIOlJYC1gkQDwkt4PvB9g4sTO3/c2GRo88cziqqMqwwQ/++ibcuOapFb0p1Bo9SY0zwB6kgbbc4A5ANOmTWv/LKKxIXsNNmbvb9Ybvgq8+Gz8HWJMXnsUt9zbHZRutQUrAi+UvzBl/OghKxCeWGkdeD7+Lt+yvvqz3sj1Fvnb6fSnULgPFmkPE4AHlpDmPkkrAGOAxQPCdxr7X9zuHHQMcw64vt1ZaBv7zZjEd266r+v4hrtPWOT3/WdsOMA56hxeddSVAENeIADM2WlOu7PQK/pzZcwNwGRJG0laCZgJXNKU5hLggPJ9T+CKtCckdeHVE1bnmH99Zcvp7t7TJjBzOUNfJEk76LeZQrERHAb8hHBJPcf2bZI+B9xo+xLgbOC/Jd1FzBBm9ld+kqQ/OHDrjdhqk7F8+/p7+PPfnmbsqBG8Y+r6zNh4rSGrOkrqjeo2MJ82bZpvvPHGdmcjSZKkVki6yfa0paXLwCpJkiRJFykUkiRJki5SKCRJkiRdpFBIkiRJukihkCRJknSRQiFJkiTpIoVCkiRJ0kUKhSRJkqSL2i1ek/QIcHe78wGMpSma6xAm66KbrItusi666YS6mGR73NIS1U4odAqSbuzJ6sChQNZFN1kX3WRddFOnukj1UZIkSdJFCoUkSZKkixQKy069gqT3L1kX3WRddJN10U1t6iJtCkmSJEkXOVNIkiRJukihkCRJknSRQqGGSNqi3XlI+hdJE9udh6R9SBrbrv+dQqFGKNgUmCXpXxvn2pytfkXSkGujkvYBPiFps3bnpVMZrO1e0jqSvgwcJ2l4O/Iw5F64uiJpuIPfA98BZkqSB6mngKQ1JK1he2E5HpSdQBVJjT3TbwGeAd4wFMrdWyQNG4ztXtIU4BfAX20favvFduQjhUJNaDQQSUcCLwc2Ad5Zzg2q5yhpE+AEYMdyfDLwWUnT25qxfsb2gvJ1A+BhYCNgRvty1Fk0BKTthZJGSPqCpH0kbVB+r/t7cBdwD/BKAEkj2pGJulfioEXSsOZRoqQvAFsC3wZuB/aVNL68JLUfUVZe6j8BfwFeJ2leOfcscJqkbQdDWWHx2Y+kV0v6CrA1cAmwENhG0uh25K9TqAgDl+PpwJnAxsB04Ozy+8J25bEvKPk/EpgmaaLt59oh6FIodCBlerzQtiWNKudWAd4AfMr2tcAxwO+AD0D3C1NHiq1kWOOlLmW5DFgTmGD7Y7a/CMwlZg9rti+3fUNDHVg5nkKUb4zt44qa8BfA+sAb25TNtlJpF9V62hb4b+Ah2zNtfxRYWdIh5feO79MaQq7V4Mb2jcSA4LhyPOCCruMrcChSRv6jJJ0OXCBpF9vPErrm95Rk9wNPAW+RNLVdeV0eqiPAUuYNJP2HpA1t/xq4FHhMUqNT/C6wJ9CWaXVfYvvF8oyPlPQq23cSo981JK1dkv0UeBDYUtKGbcpq26i0i/UlvVfSerbnAz8ExkgaWZIeDxwmaeVOny1I+iRwVFGRLqn/PRXYXtL2A5ezblIodAAt1Ag7A+cBfwAuAD4o6S3AtwiVytaVxv9HYhpdK0p5Dqkcf4oYIY0BPibpQEIo3AHsIGkl238mwqaPaUOWl4sWz3hP4BpgHKEGPJUIhTAKmFpmEv8kZgtrlnSDnhb1dCgxa9wOOEXSYcAXCb37K4qzxU+Be4EvDHR+e4qkjSRdRjzfZ4EzgG1apbX9APBeYhA44Kyw9CRJf1FeAFVHN0VdtDUww/bby7nxhMHxXOB/gRMljSEazYdtPzbQeV8eJK0ITCB0p5sSo+G/AdOANwNfAqYCVwIXArOBzRS+238gBGEtWMIzHkYI8u0J9dCZwG9tPyvpu8C/A7cC99u+StKttp9oQ/YHlCIIX6wcrwhsBsy0/RtJryYGRpcAPwDeTdifHgMOANrirfNSKNYUCfgHMJ9oy98AXqBFOy7tZVgRdBShN7CqYdv5afMH2JToCHcChgPrER3ivuX3VxAji3eX4zWBqZXrGx1P28vyEmUcAbweGF2OXwUcDXymHK8AfAL4P0KHfjJwcvntJOAIYPN2l6OXZR5W+b4xsB+wWjm+ErgeuBzYq1EH5e/VwD7VZ9rpz3c56mhFYrCzVTmeDuxPaDGGEx45W1bSHw8cBaxGDIq2WVKdt7lcKxMz4UuBd5R3+9fAb4D3VdKNrXwfXvk+ql15T/XRANNsCJN0LDH6uZUY+cxyTB/PBfaSNMr2HcQIeXNJa9t+zPZNjfu5MIDFWBZGAa8GPlVcTF9BvCAbSNre4Y45mRB8VwGrEOWfDnze9mzbv20YH9tViN7g0IcPl3QAcD7hQny6pD2A04CRtnew/R3FGoVPSlqdGAzMqz7TGjzfXlGxJ71AdPzHSPoA8F/AQcQgaSyhXz+2cumLhJH578QM4prqfd0BNoXSPt8OfAQ42/Z3gceB3wPH2j6rpJsFvKVxnbvdzo8Abpa0+UDnHdKmMKCUqWBzo/018CbCL30z4COSXg7MI1Qq/1HSnQEcbfvh6sWd8BIsCVVWZNp+lFAPHQ6sa/t/CZ36H4C3lmSTgX2KfWFV4FDghtIBVAVgx5a5Sun4/pPwJNnV9lsJY/n7gPuA2yWdKeljwI2E3eBZ2/dWrh90SBpH6MwbnAU8AbzD9uuBmcBzxCDp68A4ScdL+jSwO+Fkge3flft1RD1J2k3S7oRK8EJi1rs1gO0bCMeB90o6Q9L1xOxxfuX6f5M0H3gtsIvt3w5sCYIUCv1MdWRr25J2lnRqaTzYvogYGX0K2Ar4CvA1h5Hx+8AISSsRncU/6zJKLgKwMfKZUE6fTxhTfwddguI6YKSk7QhdOsRLcYzt71cFQF2EQYMyup8HrA2ML6evAe4E1gU+CPycWKR2kO0P236u6fpBh+1HgIMlnS3px8AWRD1tIWmE7YcI1doEYqHmbkSdbQDsYfuypvu1rZ7K+z1a0hziHZ5BqP8mABcT7++2Jfm5xEBnPvBJ23vbvq/cZ2fCzfwE2/vbvmtAC1Ih91PoR1TxvS8G5DGEkekyQmd8tu0zJJ0A/Mn2OZIOBk4Htne439WWYhj8PGFU+z0wi3hZPgL8zPa8IvDeS6zBOKwIisb1HR/Go/qMXyLNqcA42/uW428C37Z9aVO6xYzSgxFJqxJ2okOAnWxfUc7PBe6yfbSktYgOdBzwWduPV65fap0PBJJWtP2CInjhGcButhdI+iKh5poD7AWsA3yiqMqa7zHc4Z7cMW29FqPOulIRCEcRI8RZwFm2vwR8mm5d6ULgNZLOIvTue1cFQh1mB+qO29M4nkK8+GcSRuKdidHRbYTK7I2SJhOuhncCs5sEQkfHt6nM/nrSOZ1EuNUeL+l9xMj48WqCuqnGekqjnhoqHkkbEYvPvgP8mDDANlSNJwFvlfSy0hbmA3M7VCAcAlxXyrMh8AihNoIox16EA8jVxGBw86brGzaVF8vfjmnrHd/Z1IkWRuTtJH2P0I8eBowmXCtHlynwLZKOt/1Zwh99IXCc7QvK9V2xXgayHL2hkscF5bjxYvyZUAc9Q+hX5xOG46lEmI6nCJ3rdOBK29dX79upZW5+JpIOlPQtSe9TuA4vRnEcOIEwNK8AvMn2dU1pOrK8y0qLtrtq+TseeLI4ExwGHCJpI9sv2r4ZuIIwMmP7Ktv/V71vJ9STpOOAXQkvoj8Ta2nGAi8vI/9HCfXXasDNwJGlbF10khBYDHeA+9Zg+LCo++Co8vd1REe/Qzl+J+FquXM5nlh+X7/pXh3hVre08rKoy+WmxMvxY+DEyvnzgLeV7xcBV1euX3+g8ttHZR7WdHw0sW7klcBVhFF5zSVcO5rwr39POV6p3eUZoHYxHPg4MeKHEIp3ANPK8WnAjwhd/CxCXTSx3eVoUa5NCIeBN5TnOL6cH1H+HkDMgGYT3oQ/B1av1ku7y9DTT84UlpOGh41tK8I9nwWcL2kb278ijEsfLMkvBZ4kwhZsYPseYAvb91em1x0xPX4pqqoOxUrNvYDXEGqiAwnX2cMkrUYYWf8o6WXEQqPnFFEtVcq9WOC/TqWUdw1JxxVbyDDCMWBbYC1gvlssJJS0gu1/EPak/RSrs58fyLwPBE3tYmNJ7yJckc8inAmOIdSjXyVckrF9KKF6+Rxwje1HbN/TSSpTSR8lvMb+bvtqYtbT8JhrRLY9nxAaDwG/sP0mVxYcukiGOpCG5mWkufOWtAYRl2g4oTLZGfgksWrxAWJ2cL2kXctvZ9m+deBz3jcUYbgvoQJ4hlAL7Gf7puJJNJvQnX+GGElPBw63fWGbstxrWjzjHQjj6C1ER3c84Wc+lwhUuKCokB63/bwWX6E7xRHjaNBS2sW/AwcTdpPHgW8SNrXdiVnDE8BXHZ53SBpp++n25HjpSDoTuMj2pcUAvguxwO6dth9VhOJ43mX9QeW6RZ5/bWj3VKXuH8IP+XZiCnxD5fyXCLdKCG+bP5XvoqzqreunlOEUwkC8EjFymgvsDaxS0nwdOL18nwysUbl++EDneRnK16wqmkSEaL65cu5oQmU0qRy/i3BDHM+i6sRdCd3yQe0u2wC1i78Aa5VzbydUihuW4wOINRnzWlzfce2CWHF9RCnTmcBPCK+iR4mZ3zWEBuC1zXXR7rwvc5nbnYE6fRqNllAbrEp4EJ1P6BnXK8LhwJJmOovq039IuKYNq3ujqZTv78Cm5fj9hCvta8rxKwjV2SrN9VeXD+ExMosY4Q4jFhn+iG4b0RQi5MIvy/O9hmIvqlw/r3Qea7W7PAPYLp4BXlmOxwJfpjtEy3BC9XIKbQzl0MsyDSOC161JrCn5QPmsT7iOtz2PffnpGL1dJ1N1HyuLaxbafoaIbzIJeNThYXIUcGjRGV9HqI3eUKaRb7P9kBfdM6BjWZpOt5RvDqEegjCyrQzsImmM7Ttsv9sR8rtxTcdOpRu2oYptZ19CqP+NUJGdSqykvYIo44oOVdAsYp3FbNvb2P5J5X4fIsKWHOiKu22d6WG7OIuYRWH7b8AaxLvQaAMjiVXtT/VvbvuG8r5fAzwN7EHMHH5r+353r7Foy37K/UEKhR7Q6MCL7vAXkr4iaT/gRCJcweTSSXyPUKmcXC49iVh401jZ2/H13Uv/+1OAl0l6c+n8LwRut/1k8/06nYrAariVTgbOc6wp2ZcISTCJ8DIaSdkK1cFttn8G0TmUhUgv2v6Am1wR60ofrMt4stxHxKzylspxx1OcJo4jdj58sxd3le3YAU9vqcULO9AoaF5zsDuxwcu7Cb3xicRU8mJiAc7kknQ2sJIi7O+TDoNjb16otrAc/vfziLrA9g+KYKym6cgyN3dGknaUdC1lsxbCx/zvklZ1hGW4mghTfj0Rr2n1VqPDIgw6ehbYG/pyXYa6FyTuZvukkrYWdeWIv3WiIzTFvXUZ7CwLuZ9CC0pDtWK14k62zyQ8aC6y/RsAxX7JswlPol2BnSTd7Qh8dUPT/TqyY2zQwsvmaMJ18Fhi+f4USSe69b4NXyOMb7UISwGLeoUoVmJPJFwiT2wINUl3ErGobiJWYF9L6McBvl46iUHNcraLc4m9MZ63/XBx4X0BoKpSrBONGXAd3MaXh0Er7ZYXSZ8jFqk0Nk1/ivCuaXAR8DxhOLsIuMMVt7o6jSS87P73w23/0/btdREI0GUbWkERuvhgYgZ4s+3vlfJD2EseJ0J9nwOcQ8wWGqPG2qg+lpXlaBct12XUpX0sjcEsECCFQksU+6duRqy6bCy5/yqwtqQPSRpBTI0fsb3A9ncbBsYGndxwWqjGdiCMgy8QRsEJwP8QMV3+xfYPJY1vdJjqXrDXGG1PqdMLL+m1RIiNVYlyzye2OR3hsqislOczhCH5JuD1LVRjtSlzT+jDdtFY0HWb7W09CBfqDWZSKLRmVWJZ+wgASauU8+8hhMVlxFaKp7Qld8tIw1bSpBKYRBhSN7F9gu2/AvcQtoLTHAuy3kX3pvLVkNhvk3QzS9hrtoMZTRg6P02ohEQ4CHwWQNJWiphVa9i+2fZpjkVKg8bDpEo/tItda9ouEoaoTaEHOsEFwM+IhWk/duyduylwi+2rJU22/YdyrzqpTRq2ks2JVae/JPZsOA9YV9IOti8n4vm8A5gr6TEiyuPxpWOgXP8Zwh99R9fP3fKvhDC4glhUNpEQDFMlbUjE8D/V9oONC6qd3mAj20VSZUiFueipgah4nxxEvACnE53ErsBRXjSkdccvY1dTvHaF//2RhBpgZ2LDm1OBfyMW1x3liBEvwri+bsPdsnE/ok7OqLO7paQ1gYW2n1Ds+/BOoh5GuY0bnAwU2S6SJTEkhELzaF7SgcAORCTDSxojnWra0sh3IzxQxhN7ATwwwFnvMyStY/shRVCyJ21/WbEt4rmEGuwfRDC7X9o+r8X1w4lOdFA0mKI/X4EIw3A44TF2hLtdLzte4PcF2S6SZga9TUFNm7UUt7pdgC8A+wFHllEj0G08dPibX0SMkPa3/UAdPIqaPWKU/vctKZ3/64nZ4KcdW2FWt/4cVAIh20XSUwa9TaHhVkcEpfs8vXOrW+DuzWM63jdZ6X/fW661vVfjoA7PeFnIdpH0hkEnFFp4UVTDHVfd6uYSbnUtwx1XhMEU23fWobMoOuIViNWk9xFeVF3+98U1cA7wMsL//mlCOB5Rru/yvx8Ko79KRznMEd+m45/xspDtIukNHa8O6Snpbpn+98vKYBUGDbJdJL1h0AgFBwslbS5pliJW0b2EW92DZcYA4Vb3GOFW90NiFvE1238tBubNJc0jVrnuaPucdpRnGUn/+6QV2S6SHlNr9dFS3OoOA3Yk3Ooa4Y6vsn2nIrzBJbR2q2uEO66jW1363yetyHaR9JhB4ZKabnXdDHX/+6Q12S6SnlIr9VG61fWIJ4BnJM0kIlmuCjzcePFTJTBkyXaR9IjaqI/Sra5nFLtK1f/+yqbfUyUwBMl2kfSUWqmPWrjVTbLd2P7y+TKT+CIhMLrc6qpeFEPBra55Ne5g9b9Peke2i6Qn1EYoFLe6M4DrgI8D/0LoRLe1/Vwl3crEpvFbAXM9hINy5UuftCLbRfJS1MmmkG51vSRf/KQV2S6Sl6I2NgXSrS5JkqTfqY36CNKtLkmSpL+pk/oI0q0uSZKkX6mT+ijd6pIkSfqZWqmPIN3qkiRJ+pPaCYUGKQySJEn6ntoKhSRJkqTvqZuhOUmSJOlHUigkSZIkXaRQSJIkSbpIoZAky4GkH0lafSlpnlrC+XMl7dk/OUuSZaNW6xSSpFMoEXll+63tzkuS9CU5U0iGNJJOkvTByvGxko6RdLmkX0n6TdnvG0kbSrpD0unAr4ANJP1F0tjy+8WSbpJ0m6T3N/2fk8v9Li+7AjbnY6qkn5frfyJp3f4teZK0JoVCMtSZC+xTOd4b+Aawh+3XAdsBJ1d2/dsUOM/2a23f3XSvg2xPBaYBh0taq5wfCfyq3O/nwDHViyStCHwV2LNcfw7w+T4rYZL0glQfJUMa2zdLWlvSesA44HHgQWC2pDcCC4H1gfHlkrttX7uE2x0uaY/yfQNgMvBouce8cv5bwIVN120KbA78tMie4SUPSTLgpFBIErgA2BNYh5g5vIsQEFNtvyDpL8DKJe3TrW4gaVtgR2CG7Wckza9c00zzilEBt9mesRxlSJI+IdVHSRKCYCYhGC4AxhDRd1+QtB0wqQf3GAM8XgTCy4EtK78NK/cG2Be4puna3wPjJM2AUCdJ2myZS5Mky0HOFJIhj+3bJI0G7rf9oKTzge9LupHY7e93PbjNpcDBkm4lOvmqiulpYDNJNwFPsqgNg7K/+J7AVySNId7LLwO3LW/ZkqS3ZOyjJEmSpItUHyVJkiRdpFBIkiRJukihkCRJknSRQiFJkiTpIoVCkiRJ0kUKhSRJkqSLFApJkiRJFykUkiRJki7+H9ImfULQz9PtAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "sns.pointplot(x='variable', y='value', hue='computer_os', data=df_melted, axis=ax)\n",
    "ax.set_xticklabels(labels=ax.get_xticklabels(), rotation=30);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"pivot\"></a>\n",
    "\n",
    "### pivot\n",
    "\n",
    "Reshape dataframe from long format to wide format. That is, produce a \"pivot\" table based on column values. Uses unique values from index / columns to form axes of the resulting DataFrame.\n",
    "\n",
    "`df.pivot(index=None, columns=None, values=None)`\n",
    "\n",
    "* `index`: string or object. Column name to use to make new frame's index. If None, uses existing index.\n",
    "* `columns`: string or object. Column name to use to make new frame's columns\n",
    "* `values`: string or object. Column name to use for populating new frame's values. If not specified, all remaining columns will be used and the result will have hierarchically indexed columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>foo</th>\n",
       "      <th>bar</th>\n",
       "      <th>baz</th>\n",
       "      <th>faz</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>one</td>\n",
       "      <td>A</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>one</td>\n",
       "      <td>B</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>one</td>\n",
       "      <td>C</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>two</td>\n",
       "      <td>A</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>two</td>\n",
       "      <td>B</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>two</td>\n",
       "      <td>C</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   foo bar  baz  faz\n",
       "0  one   A    1    1\n",
       "1  one   B    2    2\n",
       "2  one   C    3    3\n",
       "3  two   A    4    4\n",
       "4  two   B    5    5\n",
       "5  two   C    6    6"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# example 1: \n",
    "\n",
    "df = pd.DataFrame({'foo': ['one','one','one','two','two','two'],\n",
    "                       'bar': ['A', 'B', 'C', 'A', 'B', 'C'],\n",
    "                       'baz': [1, 2, 3, 4, 5, 6],\n",
    "                       'faz': [1, 2, 3, 4, 5, 6]})\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>bar</th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>foo</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>one</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "bar  A  B  C\n",
       "foo         \n",
       "one  1  2  3\n",
       "two  4  5  6"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.pivot(index='foo', columns='bar', values='baz')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"3\" halign=\"left\">baz</th>\n",
       "      <th colspan=\"3\" halign=\"left\">faz</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bar</th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>foo</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>one</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    baz       faz      \n",
       "bar   A  B  C   A  B  C\n",
       "foo                    \n",
       "one   1  2  3   1  2  3\n",
       "two   4  5  6   4  5  6"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_pivot = df.pivot(index='foo', columns='bar')\n",
    "df_pivot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>bar</th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>foo</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>one</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "bar  A  B  C\n",
       "foo         \n",
       "one  1  2  3\n",
       "two  4  5  6"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_pivot['baz']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MultiIndex(levels=[['baz', 'faz'], ['A', 'B', 'C']],\n",
       "           labels=[[0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2]],\n",
       "           names=[None, 'bar'])"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# columns is multi-level\n",
    "df_pivot.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['one', 'two'], dtype='object', name='foo')"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# index is not multi-level\n",
    "df_pivot.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>variable</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2000-01-03</td>\n",
       "      <td>A</td>\n",
       "      <td>-0.327982</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2000-01-04</td>\n",
       "      <td>A</td>\n",
       "      <td>0.719612</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2000-01-05</td>\n",
       "      <td>A</td>\n",
       "      <td>-1.139251</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2000-01-03</td>\n",
       "      <td>B</td>\n",
       "      <td>-0.301713</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2000-01-04</td>\n",
       "      <td>B</td>\n",
       "      <td>-1.343557</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2000-01-05</td>\n",
       "      <td>B</td>\n",
       "      <td>-0.019316</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2000-01-03</td>\n",
       "      <td>C</td>\n",
       "      <td>-0.274083</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2000-01-04</td>\n",
       "      <td>C</td>\n",
       "      <td>-1.770896</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2000-01-05</td>\n",
       "      <td>C</td>\n",
       "      <td>0.584221</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2000-01-03</td>\n",
       "      <td>D</td>\n",
       "      <td>-0.832605</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2000-01-04</td>\n",
       "      <td>D</td>\n",
       "      <td>0.130745</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2000-01-05</td>\n",
       "      <td>D</td>\n",
       "      <td>0.737839</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date variable     value\n",
       "0  2000-01-03        A -0.327982\n",
       "1  2000-01-04        A  0.719612\n",
       "2  2000-01-05        A -1.139251\n",
       "3  2000-01-03        B -0.301713\n",
       "4  2000-01-04        B -1.343557\n",
       "5  2000-01-05        B -0.019316\n",
       "6  2000-01-03        C -0.274083\n",
       "7  2000-01-04        C -1.770896\n",
       "8  2000-01-05        C  0.584221\n",
       "9  2000-01-03        D -0.832605\n",
       "10 2000-01-04        D  0.130745\n",
       "11 2000-01-05        D  0.737839"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# example 2: create a dataframe that's \"stacked\"\n",
    "\n",
    "import pandas.util.testing as tm; tm.N = 3\n",
    "def unpivot(frame):\n",
    "    N, K = frame.shape\n",
    "    data = {'value' : frame.values.ravel('F'),\n",
    "            'variable' : np.asarray(frame.columns).repeat(N),\n",
    "            'date' : np.tile(np.asarray(frame.index), K)}\n",
    "    return pd.DataFrame(data, columns=['date', 'variable', 'value'])\n",
    "df2 = unpivot(tm.makeTimeDataFrame())\n",
    "df2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we wanted all the data for variable A, we could do this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>variable</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2000-01-03</td>\n",
       "      <td>A</td>\n",
       "      <td>-0.327982</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2000-01-04</td>\n",
       "      <td>A</td>\n",
       "      <td>0.719612</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2000-01-05</td>\n",
       "      <td>A</td>\n",
       "      <td>-1.139251</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        date variable     value\n",
       "0 2000-01-03        A -0.327982\n",
       "1 2000-01-04        A  0.719612\n",
       "2 2000-01-05        A -1.139251"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2[df2['variable'] == 'A']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But suppose we wish to do time series operations with the variables. A better representation would be where the columns are the unique variables and an index of dates identifies individual observations. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>variable</th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2000-01-03</th>\n",
       "      <td>-0.327982</td>\n",
       "      <td>-0.301713</td>\n",
       "      <td>-0.274083</td>\n",
       "      <td>-0.832605</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-04</th>\n",
       "      <td>0.719612</td>\n",
       "      <td>-1.343557</td>\n",
       "      <td>-1.770896</td>\n",
       "      <td>0.130745</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-01-05</th>\n",
       "      <td>-1.139251</td>\n",
       "      <td>-0.019316</td>\n",
       "      <td>0.584221</td>\n",
       "      <td>0.737839</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "variable           A         B         C         D\n",
       "date                                              \n",
       "2000-01-03 -0.327982 -0.301713 -0.274083 -0.832605\n",
       "2000-01-04  0.719612 -1.343557 -1.770896  0.130745\n",
       "2000-01-05 -1.139251 -0.019316  0.584221  0.737839"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# to reshape the data into this form, use the pivot function\n",
    "df2_pivot = df2.pivot(index='date', columns='variable', values='value')\n",
    "df2_pivot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(df2_pivot.index, df2_pivot.A, 'b', \n",
    "         df2_pivot.index, df2_pivot.B, 'r',\n",
    "         df2_pivot.index, df2_pivot.C, 'g', \n",
    "         df2_pivot.index, df2_pivot.D, 'k')\n",
    "plt.legend(df2_pivot.columns)\n",
    "xlabels = [x.strftime('%Y-%m-%d') for x in df2_pivot.index]\n",
    "plt.xticks(xlabels, xlabels)\n",
    "plt.xticks(rotation=-45);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"pivot-table\"></a>\n",
    "\n",
    "### pivot_table\n",
    "\n",
    "Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame. Similar to `pivot`, it is a generalization of pivot that can handle duplicate values for one index/column pair.\n",
    "\n",
    "`df.pivot_table(values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>foo</td>\n",
       "      <td>one</td>\n",
       "      <td>small</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>foo</td>\n",
       "      <td>one</td>\n",
       "      <td>large</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>foo</td>\n",
       "      <td>one</td>\n",
       "      <td>large</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>foo</td>\n",
       "      <td>two</td>\n",
       "      <td>small</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>foo</td>\n",
       "      <td>two</td>\n",
       "      <td>small</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>bar</td>\n",
       "      <td>one</td>\n",
       "      <td>large</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>bar</td>\n",
       "      <td>one</td>\n",
       "      <td>small</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>bar</td>\n",
       "      <td>two</td>\n",
       "      <td>small</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>bar</td>\n",
       "      <td>two</td>\n",
       "      <td>large</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     A    B      C  D\n",
       "0  foo  one  small  1\n",
       "1  foo  one  large  2\n",
       "2  foo  one  large  2\n",
       "3  foo  two  small  3\n",
       "4  foo  two  small  3\n",
       "5  bar  one  large  4\n",
       "6  bar  one  small  5\n",
       "7  bar  two  small  6\n",
       "8  bar  two  large  7"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame({\"A\": [\"foo\", \"foo\", \"foo\", \"foo\", \"foo\",\n",
    "                         \"bar\", \"bar\", \"bar\", \"bar\"],\n",
    "                   \"B\": [\"one\", \"one\", \"one\", \"two\", \"two\",\n",
    "                         \"one\", \"one\", \"two\", \"two\"],\n",
    "                   \"C\": [\"small\", \"large\", \"large\", \"small\",\n",
    "                         \"small\", \"large\", \"small\", \"small\",\n",
    "                         \"large\"],\n",
    "                   \"D\": [1, 2, 2, 3, 3, 4, 5, 6, 7]})\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>C</th>\n",
       "      <th>large</th>\n",
       "      <th>small</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">bar</th>\n",
       "      <th>one</th>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>7.0</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">foo</th>\n",
       "      <th>one</th>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>NaN</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "C        large  small\n",
       "A   B                \n",
       "bar one    4.0    5.0\n",
       "    two    7.0    6.0\n",
       "foo one    4.0    1.0\n",
       "    two    NaN    6.0"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "table = pd.pivot_table(df, values='D', index=['A', 'B'],\n",
    "                       columns=['C'], aggfunc=np.sum)\n",
    "table"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"stack\"></a>\n",
    "\n",
    "### stack\n",
    "\n",
    "Pivot a level of the column labels (inverse operation from `unstack`).\n",
    "\n",
    "`df.stack(level=-1, dropna=True)`\n",
    "\n",
    "* `level`: int, string, or list of these, default last level. Level(s) to stack, can pass level name\n",
    "* `dropna`: boolean, default True. Whether to drop rows in the resulting Frame/Series with no valid values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature1</th>\n",
       "      <th>feature2</th>\n",
       "      <th>feature3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sample1</th>\n",
       "      <td>3</td>\n",
       "      <td>8</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sample2</th>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sample3</th>\n",
       "      <td>8</td>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sample4</th>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sample5</th>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         feature1  feature2  feature3\n",
       "sample1         3         8         3\n",
       "sample2         4         3         5\n",
       "sample3         8         7         1\n",
       "sample4         1         7         2\n",
       "sample5         2         4         6"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2 = pd.DataFrame(np.random.randint(0, 9, size=(5,3)),\n",
    "                  index=('sample1', 'sample2', 'sample3', 'sample4', 'sample5'),\n",
    "                  columns=('feature1', 'feature2', 'feature3'))\n",
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sample1  feature1    3\n",
       "         feature2    8\n",
       "         feature3    3\n",
       "sample2  feature1    4\n",
       "         feature2    3\n",
       "         feature3    5\n",
       "sample3  feature1    8\n",
       "         feature2    7\n",
       "         feature3    1\n",
       "sample4  feature1    1\n",
       "         feature2    7\n",
       "         feature3    2\n",
       "sample5  feature1    2\n",
       "         feature2    4\n",
       "         feature3    6\n",
       "dtype: int64"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2_stack = df2.stack()\n",
    "df2_stack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "feature1    3\n",
       "feature2    8\n",
       "feature3    3\n",
       "dtype: int64"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2_stack['sample1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2_stack['sample1']['feature1']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"unstack\"></a>\n",
    "\n",
    "### unstack\n",
    "\n",
    "Pivot based on the index values, instead of a column. Requires hierarchical index labels, returns a DataFrame having a new level of column labels whose inner-most level consists of the pivoted index labels. If the index is not a MultiIndex, the output will be a Series (the analogue of stack when the columns are not a MultiIndex). The level involved will automatically get sorted.\n",
    "\n",
    "`df.unstack(level=-1, fill_value=None)`\n",
    "\n",
    "* `level`: int, string, or list of these, default -1 (last level) Level(s) of index to unstack, can pass level name\n",
    "* `fill_value`: replace NaN with this value if the unstack produces missing values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "feature1  sample1    3\n",
       "          sample2    4\n",
       "          sample3    8\n",
       "          sample4    1\n",
       "          sample5    2\n",
       "feature2  sample1    8\n",
       "          sample2    3\n",
       "          sample3    7\n",
       "          sample4    7\n",
       "          sample5    4\n",
       "feature3  sample1    3\n",
       "          sample2    5\n",
       "          sample3    1\n",
       "          sample4    2\n",
       "          sample5    6\n",
       "dtype: int64"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2_unstack = df2.unstack()\n",
    "df2_unstack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sample1    3\n",
       "sample2    4\n",
       "sample3    8\n",
       "sample4    1\n",
       "sample5    2\n",
       "dtype: int64"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2_unstack['feature1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2_unstack['feature1']['sample1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(pandas.core.frame.DataFrame,\n",
       " pandas.core.series.Series,\n",
       " pandas.core.series.Series)"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(df2), type(df2_stack), type(df2_unstack)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### value_counts\n",
    "\n",
    "Get the counts of each value in a Series."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4    1\n",
       "3    1\n",
       "2    1\n",
       "1    1\n",
       "8    1\n",
       "Name: feature1, dtype: int64"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.feature1.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Example: Use `value_counts` to find features found in more than 3 samples:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = df2.astype(bool)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "feature1 5\n",
      "feature2 5\n",
      "feature3 5\n"
     ]
    }
   ],
   "source": [
    "for feature in df2.columns:\n",
    "    num_true = df2[feature].value_counts()[True]\n",
    "    if num_true > 3:\n",
    "        print(feature, num_true)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id=\"example-emp\"></a>\n",
    "\n",
    "### Group operations with Earth Microbiome Project metadata"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('../data/emp_qiime_mapping_subset_2k.tsv', sep='\\t')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['#SampleID', 'BarcodeSequence', 'LinkerPrimerSequence', 'Description',\n",
       "       'host_subject_id', 'study_id', 'title', 'principal_investigator', 'doi',\n",
       "       'ebi_accession', 'target_gene', 'target_subfragment', 'pcr_primers',\n",
       "       'illumina_technology', 'extraction_center', 'run_center', 'run_date',\n",
       "       'read_length_bp', 'sequences_split_libraries',\n",
       "       'observations_closed_ref_greengenes', 'observations_closed_ref_silva',\n",
       "       'observations_open_ref_greengenes', 'observations_deblur_90bp',\n",
       "       'observations_deblur_100bp', 'observations_deblur_150bp',\n",
       "       'emp_release1', 'qc_filtered', 'subset_10k', 'subset_5k', 'subset_2k',\n",
       "       'sample_taxid', 'sample_scientific_name', 'host_taxid',\n",
       "       'host_common_name_provided', 'host_common_name', 'host_scientific_name',\n",
       "       'host_superkingdom', 'host_kingdom', 'host_phylum', 'host_class',\n",
       "       'host_order', 'host_family', 'host_genus', 'host_species',\n",
       "       'collection_timestamp', 'country', 'latitude_deg', 'longitude_deg',\n",
       "       'depth_m', 'altitude_m', 'elevation_m', 'env_biome', 'env_feature',\n",
       "       'env_material', 'envo_biome_0', 'envo_biome_1', 'envo_biome_2',\n",
       "       'envo_biome_3', 'envo_biome_4', 'envo_biome_5', 'empo_0', 'empo_1',\n",
       "       'empo_2', 'empo_3', 'adiv_observed_otus', 'adiv_chao1', 'adiv_shannon',\n",
       "       'adiv_faith_pd', 'temperature_deg_c', 'ph', 'salinity_psu',\n",
       "       'oxygen_mg_per_l', 'phosphate_umol_per_l', 'ammonium_umol_per_l',\n",
       "       'nitrate_umol_per_l', 'sulfate_umol_per_l'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df[['#SampleID', 'study_id', 'observations_deblur_90bp', 'latitude_deg', 'longitude_deg',\n",
    "         'temperature_deg_c', 'empo_3', 'envo_biome_2']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>#SampleID</th>\n",
       "      <th>study_id</th>\n",
       "      <th>observations_deblur_90bp</th>\n",
       "      <th>latitude_deg</th>\n",
       "      <th>longitude_deg</th>\n",
       "      <th>temperature_deg_c</th>\n",
       "      <th>empo_3</th>\n",
       "      <th>envo_biome_2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>550.L1S116.s.1.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>22567</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>550.L1S119.s.1.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>27871</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>550.L1S164.s.1.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>24134</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>550.L1S194.s.1.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>30041</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>550.L1S20.s.1.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>21132</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>550.L1S26.s.1.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>20875</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>550.L1S264.s.1.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>25919</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>550.L1S273.s.1.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>32962</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>550.L2S103.s.2.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>10838</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>550.L2S144.s.2.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>13559</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>550.L2S164.s.2.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>11276</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>550.L2S166.s.2.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>10635</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>550.L2S303.s.2.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>16250</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>550.L2S377.s.2.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>11904</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>550.L4S1.s.4.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>47314</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>550.L4S102.s.4.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>30347</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>550.L4S122.s.4.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>31629</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>550.L4S140.s.4.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>21734</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>550.L4S158.s.4.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>28686</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>550.L4S161.s.4.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>26217</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>550.L4S183.s.4.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>31601</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal surface</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>550.L5S119.s.5.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>8060</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>550.L5S224.s.5.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>8456</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>550.L5S258.s.5.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>8693</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>550.L6S104.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>34771</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>550.L6S144.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>34508</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>550.L6S149.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>28528</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>550.L6S176.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>29224</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>550.L6S186.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>27779</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>550.L6S197.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>20656</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>550.L6S231.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>28197</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>550.L6S261.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>24655</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>550.L6S265.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>21865</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>550.L6S269.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>27829</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>550.L6S272.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>24115</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>550.L6S289.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>30363</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>550.L6S309.s.6.sequence</td>\n",
       "      <td>550</td>\n",
       "      <td>26615</td>\n",
       "      <td>40.015000</td>\n",
       "      <td>-105.271000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Animal secretion</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>632.Agricultural.soil.wheat</td>\n",
       "      <td>632</td>\n",
       "      <td>93645</td>\n",
       "      <td>43.640000</td>\n",
       "      <td>-80.410000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Soil (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>632.Arctic.Tundra.1</td>\n",
       "      <td>632</td>\n",
       "      <td>56060</td>\n",
       "      <td>64.870000</td>\n",
       "      <td>-111.580000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Soil (non-saline)</td>\n",
       "      <td>tundra biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>632.Temperate.deciduous.forest</td>\n",
       "      <td>632</td>\n",
       "      <td>57253</td>\n",
       "      <td>43.490000</td>\n",
       "      <td>-80.570000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Soil (non-saline)</td>\n",
       "      <td>forest biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1960</th>\n",
       "      <td>2382.HE003.C181.HA.3.764.leav.9.12.lane8.NoInd...</td>\n",
       "      <td>2382</td>\n",
       "      <td>109240</td>\n",
       "      <td>41.010360</td>\n",
       "      <td>-72.530560</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1961</th>\n",
       "      <td>2382.HE003.C181.HA.3.562.rhizo.4.12.lane7.NoIn...</td>\n",
       "      <td>2382</td>\n",
       "      <td>50570</td>\n",
       "      <td>41.010250</td>\n",
       "      <td>-72.530580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1962</th>\n",
       "      <td>2382.HE003.C181.HA.2.760.gp.9.12.lane8.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>83083</td>\n",
       "      <td>41.010360</td>\n",
       "      <td>-72.530560</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1963</th>\n",
       "      <td>2382.HE003.C181.HA.2.759.leav.9.12.lane8.NoInd...</td>\n",
       "      <td>2382</td>\n",
       "      <td>103942</td>\n",
       "      <td>41.010360</td>\n",
       "      <td>-72.530560</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1964</th>\n",
       "      <td>2382.HE003.C181.HA.1.755.gp.9.12.lane8.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>92275</td>\n",
       "      <td>41.010360</td>\n",
       "      <td>-72.530560</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1965</th>\n",
       "      <td>2382.HE003.C181.HA.1.754.leav.9.12.lane8.NoInd...</td>\n",
       "      <td>2382</td>\n",
       "      <td>119453</td>\n",
       "      <td>41.010360</td>\n",
       "      <td>-72.530560</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1966</th>\n",
       "      <td>2382.HE003.C181.HA.1.752.rhizo.9.12.lane7.NoIn...</td>\n",
       "      <td>2382</td>\n",
       "      <td>57469</td>\n",
       "      <td>41.010360</td>\n",
       "      <td>-72.530560</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1967</th>\n",
       "      <td>2382.HE003.C181.HA.1.553.root.4.12.lane7.NoInd...</td>\n",
       "      <td>2382</td>\n",
       "      <td>58870</td>\n",
       "      <td>41.010250</td>\n",
       "      <td>-72.530580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1968</th>\n",
       "      <td>2382.GM.181.R5.leav.10.12.lane8.NoIndex.L008.s...</td>\n",
       "      <td>2382</td>\n",
       "      <td>176455</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1969</th>\n",
       "      <td>2382.GM.181.R5.gp.10.12.lane8.NoIndex.L008.seq...</td>\n",
       "      <td>2382</td>\n",
       "      <td>153000</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1970</th>\n",
       "      <td>2382.GM.181.R4.leav.10.12.lane8.NoIndex.L008.s...</td>\n",
       "      <td>2382</td>\n",
       "      <td>177798</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1971</th>\n",
       "      <td>2382.GM.181.R4.gp.10.12.lane8.NoIndex.L008.seq...</td>\n",
       "      <td>2382</td>\n",
       "      <td>149114</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1972</th>\n",
       "      <td>2382.GM.181.R3.rhizo.10.12.lane7.NoIndex.L007....</td>\n",
       "      <td>2382</td>\n",
       "      <td>269254</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1973</th>\n",
       "      <td>2382.GM.181.R3.leav.10.12.lane8.NoIndex.L008.s...</td>\n",
       "      <td>2382</td>\n",
       "      <td>187910</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1974</th>\n",
       "      <td>2382.GM.181.R3.gp.10.12.lane8.NoIndex.L008.seq...</td>\n",
       "      <td>2382</td>\n",
       "      <td>131374</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1975</th>\n",
       "      <td>2382.GM.181.R2.root.10.12.lane7.NoIndex.L007.s...</td>\n",
       "      <td>2382</td>\n",
       "      <td>295829</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1976</th>\n",
       "      <td>2382.GM.181.R2.rhizo.10.12.lane7.NoIndex.L007....</td>\n",
       "      <td>2382</td>\n",
       "      <td>275980</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1977</th>\n",
       "      <td>2382.GM.181.R2.leav.10.12.lane8.NoIndex.L008.s...</td>\n",
       "      <td>2382</td>\n",
       "      <td>196678</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1978</th>\n",
       "      <td>2382.GM.181.R2.gp.10.12.lane8.NoIndex.L008.seq...</td>\n",
       "      <td>2382</td>\n",
       "      <td>140903</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1979</th>\n",
       "      <td>2382.GM.181.R1.leav.10.12.lane8.NoIndex.L008.s...</td>\n",
       "      <td>2382</td>\n",
       "      <td>183805</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1980</th>\n",
       "      <td>2382.GM.181.R1.gp.10.12.lane8.NoIndex.L008.seq...</td>\n",
       "      <td>2382</td>\n",
       "      <td>128824</td>\n",
       "      <td>45.013092</td>\n",
       "      <td>-0.786197</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1981</th>\n",
       "      <td>2382.DPOO1.C1.HA.5.650.gp.9.12.lane8.NoIndex.L...</td>\n",
       "      <td>2382</td>\n",
       "      <td>153487</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1982</th>\n",
       "      <td>2382.DPOO1.C1.HA.5.649.leav.9.12.lane8.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>115994</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1983</th>\n",
       "      <td>2382.DPOO1.C1.HA.5.648.root.9.12.lane7.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>174497</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1984</th>\n",
       "      <td>2382.DPOO1.C1.HA.5.448.root.4.12.lane7.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>47376</td>\n",
       "      <td>41.025340</td>\n",
       "      <td>-72.461710</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1985</th>\n",
       "      <td>2382.DPOO1.C1.HA.4.645.gp.9.12.lane8.NoIndex.L...</td>\n",
       "      <td>2382</td>\n",
       "      <td>101210</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1986</th>\n",
       "      <td>2382.DPOO1.C1.HA.4.644.leav.9.12.lane8.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>88713</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1987</th>\n",
       "      <td>2382.DPOO1.C1.HA.3.640.gp.9.12.lane8.NoIndex.L...</td>\n",
       "      <td>2382</td>\n",
       "      <td>82740</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1988</th>\n",
       "      <td>2382.DPOO1.C1.HA.3.639.leav.9.12.lane8.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>41000</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1989</th>\n",
       "      <td>2382.DPOO1.C1.HA.3.32.r1.leav.6.11.lane8.NoInd...</td>\n",
       "      <td>2382</td>\n",
       "      <td>148686</td>\n",
       "      <td>41.025430</td>\n",
       "      <td>-72.461710</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990</th>\n",
       "      <td>2382.DPOO1.C1.HA.3.238.root.9.11.lane1.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>67135</td>\n",
       "      <td>41.025410</td>\n",
       "      <td>-72.461850</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1991</th>\n",
       "      <td>2382.DPOO1.C1.HA.2.635.gp.9.12.lane8.NoIndex.L...</td>\n",
       "      <td>2382</td>\n",
       "      <td>99720</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992</th>\n",
       "      <td>2382.DPOO1.C1.HA.2.634.leav.9.12.lane8.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>69658</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1993</th>\n",
       "      <td>2382.DPOO1.C1.HA.2.633.root.9.12.lane7.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>53679</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1994</th>\n",
       "      <td>2382.DPOO1.C1.HA.2.433.root.4.12.lane7.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>74997</td>\n",
       "      <td>41.025340</td>\n",
       "      <td>-72.461710</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1995</th>\n",
       "      <td>2382.DPOO1.C1.HA.1.630.gp.9.12.lane8.NoIndex.L...</td>\n",
       "      <td>2382</td>\n",
       "      <td>90850</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1996</th>\n",
       "      <td>2382.DPOO1.C1.HA.1.629.leav.9.12.lane8.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>115902</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant corpus</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997</th>\n",
       "      <td>2382.DPOO1.C1.HA.1.628.root.9.12.lane7.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>204706</td>\n",
       "      <td>41.025250</td>\n",
       "      <td>-72.461580</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998</th>\n",
       "      <td>2382.DPOO1.C1.HA.1.428.root.4.12.lane7.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>53892</td>\n",
       "      <td>41.025340</td>\n",
       "      <td>-72.461710</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1999</th>\n",
       "      <td>2382.DPOO1.C1.HA.1.228.root.9.11.lane1.NoIndex...</td>\n",
       "      <td>2382</td>\n",
       "      <td>50070</td>\n",
       "      <td>41.025310</td>\n",
       "      <td>-72.461750</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Plant rhizosphere</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2000 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                              #SampleID  study_id  \\\n",
       "0                               550.L1S116.s.1.sequence       550   \n",
       "1                               550.L1S119.s.1.sequence       550   \n",
       "2                               550.L1S164.s.1.sequence       550   \n",
       "3                               550.L1S194.s.1.sequence       550   \n",
       "4                                550.L1S20.s.1.sequence       550   \n",
       "5                                550.L1S26.s.1.sequence       550   \n",
       "6                               550.L1S264.s.1.sequence       550   \n",
       "7                               550.L1S273.s.1.sequence       550   \n",
       "8                               550.L2S103.s.2.sequence       550   \n",
       "9                               550.L2S144.s.2.sequence       550   \n",
       "10                              550.L2S164.s.2.sequence       550   \n",
       "11                              550.L2S166.s.2.sequence       550   \n",
       "12                              550.L2S303.s.2.sequence       550   \n",
       "13                              550.L2S377.s.2.sequence       550   \n",
       "14                                550.L4S1.s.4.sequence       550   \n",
       "15                              550.L4S102.s.4.sequence       550   \n",
       "16                              550.L4S122.s.4.sequence       550   \n",
       "17                              550.L4S140.s.4.sequence       550   \n",
       "18                              550.L4S158.s.4.sequence       550   \n",
       "19                              550.L4S161.s.4.sequence       550   \n",
       "20                              550.L4S183.s.4.sequence       550   \n",
       "21                              550.L5S119.s.5.sequence       550   \n",
       "22                              550.L5S224.s.5.sequence       550   \n",
       "23                              550.L5S258.s.5.sequence       550   \n",
       "24                              550.L6S104.s.6.sequence       550   \n",
       "25                              550.L6S144.s.6.sequence       550   \n",
       "26                              550.L6S149.s.6.sequence       550   \n",
       "27                              550.L6S176.s.6.sequence       550   \n",
       "28                              550.L6S186.s.6.sequence       550   \n",
       "29                              550.L6S197.s.6.sequence       550   \n",
       "30                              550.L6S231.s.6.sequence       550   \n",
       "31                              550.L6S261.s.6.sequence       550   \n",
       "32                              550.L6S265.s.6.sequence       550   \n",
       "33                              550.L6S269.s.6.sequence       550   \n",
       "34                              550.L6S272.s.6.sequence       550   \n",
       "35                              550.L6S289.s.6.sequence       550   \n",
       "36                              550.L6S309.s.6.sequence       550   \n",
       "37                          632.Agricultural.soil.wheat       632   \n",
       "38                                  632.Arctic.Tundra.1       632   \n",
       "39                       632.Temperate.deciduous.forest       632   \n",
       "...                                                 ...       ...   \n",
       "1960  2382.HE003.C181.HA.3.764.leav.9.12.lane8.NoInd...      2382   \n",
       "1961  2382.HE003.C181.HA.3.562.rhizo.4.12.lane7.NoIn...      2382   \n",
       "1962  2382.HE003.C181.HA.2.760.gp.9.12.lane8.NoIndex...      2382   \n",
       "1963  2382.HE003.C181.HA.2.759.leav.9.12.lane8.NoInd...      2382   \n",
       "1964  2382.HE003.C181.HA.1.755.gp.9.12.lane8.NoIndex...      2382   \n",
       "1965  2382.HE003.C181.HA.1.754.leav.9.12.lane8.NoInd...      2382   \n",
       "1966  2382.HE003.C181.HA.1.752.rhizo.9.12.lane7.NoIn...      2382   \n",
       "1967  2382.HE003.C181.HA.1.553.root.4.12.lane7.NoInd...      2382   \n",
       "1968  2382.GM.181.R5.leav.10.12.lane8.NoIndex.L008.s...      2382   \n",
       "1969  2382.GM.181.R5.gp.10.12.lane8.NoIndex.L008.seq...      2382   \n",
       "1970  2382.GM.181.R4.leav.10.12.lane8.NoIndex.L008.s...      2382   \n",
       "1971  2382.GM.181.R4.gp.10.12.lane8.NoIndex.L008.seq...      2382   \n",
       "1972  2382.GM.181.R3.rhizo.10.12.lane7.NoIndex.L007....      2382   \n",
       "1973  2382.GM.181.R3.leav.10.12.lane8.NoIndex.L008.s...      2382   \n",
       "1974  2382.GM.181.R3.gp.10.12.lane8.NoIndex.L008.seq...      2382   \n",
       "1975  2382.GM.181.R2.root.10.12.lane7.NoIndex.L007.s...      2382   \n",
       "1976  2382.GM.181.R2.rhizo.10.12.lane7.NoIndex.L007....      2382   \n",
       "1977  2382.GM.181.R2.leav.10.12.lane8.NoIndex.L008.s...      2382   \n",
       "1978  2382.GM.181.R2.gp.10.12.lane8.NoIndex.L008.seq...      2382   \n",
       "1979  2382.GM.181.R1.leav.10.12.lane8.NoIndex.L008.s...      2382   \n",
       "1980  2382.GM.181.R1.gp.10.12.lane8.NoIndex.L008.seq...      2382   \n",
       "1981  2382.DPOO1.C1.HA.5.650.gp.9.12.lane8.NoIndex.L...      2382   \n",
       "1982  2382.DPOO1.C1.HA.5.649.leav.9.12.lane8.NoIndex...      2382   \n",
       "1983  2382.DPOO1.C1.HA.5.648.root.9.12.lane7.NoIndex...      2382   \n",
       "1984  2382.DPOO1.C1.HA.5.448.root.4.12.lane7.NoIndex...      2382   \n",
       "1985  2382.DPOO1.C1.HA.4.645.gp.9.12.lane8.NoIndex.L...      2382   \n",
       "1986  2382.DPOO1.C1.HA.4.644.leav.9.12.lane8.NoIndex...      2382   \n",
       "1987  2382.DPOO1.C1.HA.3.640.gp.9.12.lane8.NoIndex.L...      2382   \n",
       "1988  2382.DPOO1.C1.HA.3.639.leav.9.12.lane8.NoIndex...      2382   \n",
       "1989  2382.DPOO1.C1.HA.3.32.r1.leav.6.11.lane8.NoInd...      2382   \n",
       "1990  2382.DPOO1.C1.HA.3.238.root.9.11.lane1.NoIndex...      2382   \n",
       "1991  2382.DPOO1.C1.HA.2.635.gp.9.12.lane8.NoIndex.L...      2382   \n",
       "1992  2382.DPOO1.C1.HA.2.634.leav.9.12.lane8.NoIndex...      2382   \n",
       "1993  2382.DPOO1.C1.HA.2.633.root.9.12.lane7.NoIndex...      2382   \n",
       "1994  2382.DPOO1.C1.HA.2.433.root.4.12.lane7.NoIndex...      2382   \n",
       "1995  2382.DPOO1.C1.HA.1.630.gp.9.12.lane8.NoIndex.L...      2382   \n",
       "1996  2382.DPOO1.C1.HA.1.629.leav.9.12.lane8.NoIndex...      2382   \n",
       "1997  2382.DPOO1.C1.HA.1.628.root.9.12.lane7.NoIndex...      2382   \n",
       "1998  2382.DPOO1.C1.HA.1.428.root.4.12.lane7.NoIndex...      2382   \n",
       "1999  2382.DPOO1.C1.HA.1.228.root.9.11.lane1.NoIndex...      2382   \n",
       "\n",
       "      observations_deblur_90bp  latitude_deg  longitude_deg  \\\n",
       "0                        22567     40.015000    -105.271000   \n",
       "1                        27871     40.015000    -105.271000   \n",
       "2                        24134     40.015000    -105.271000   \n",
       "3                        30041     40.015000    -105.271000   \n",
       "4                        21132     40.015000    -105.271000   \n",
       "5                        20875     40.015000    -105.271000   \n",
       "6                        25919     40.015000    -105.271000   \n",
       "7                        32962     40.015000    -105.271000   \n",
       "8                        10838     40.015000    -105.271000   \n",
       "9                        13559     40.015000    -105.271000   \n",
       "10                       11276     40.015000    -105.271000   \n",
       "11                       10635     40.015000    -105.271000   \n",
       "12                       16250     40.015000    -105.271000   \n",
       "13                       11904     40.015000    -105.271000   \n",
       "14                       47314     40.015000    -105.271000   \n",
       "15                       30347     40.015000    -105.271000   \n",
       "16                       31629     40.015000    -105.271000   \n",
       "17                       21734     40.015000    -105.271000   \n",
       "18                       28686     40.015000    -105.271000   \n",
       "19                       26217     40.015000    -105.271000   \n",
       "20                       31601     40.015000    -105.271000   \n",
       "21                        8060     40.015000    -105.271000   \n",
       "22                        8456     40.015000    -105.271000   \n",
       "23                        8693     40.015000    -105.271000   \n",
       "24                       34771     40.015000    -105.271000   \n",
       "25                       34508     40.015000    -105.271000   \n",
       "26                       28528     40.015000    -105.271000   \n",
       "27                       29224     40.015000    -105.271000   \n",
       "28                       27779     40.015000    -105.271000   \n",
       "29                       20656     40.015000    -105.271000   \n",
       "30                       28197     40.015000    -105.271000   \n",
       "31                       24655     40.015000    -105.271000   \n",
       "32                       21865     40.015000    -105.271000   \n",
       "33                       27829     40.015000    -105.271000   \n",
       "34                       24115     40.015000    -105.271000   \n",
       "35                       30363     40.015000    -105.271000   \n",
       "36                       26615     40.015000    -105.271000   \n",
       "37                       93645     43.640000     -80.410000   \n",
       "38                       56060     64.870000    -111.580000   \n",
       "39                       57253     43.490000     -80.570000   \n",
       "...                        ...           ...            ...   \n",
       "1960                    109240     41.010360     -72.530560   \n",
       "1961                     50570     41.010250     -72.530580   \n",
       "1962                     83083     41.010360     -72.530560   \n",
       "1963                    103942     41.010360     -72.530560   \n",
       "1964                     92275     41.010360     -72.530560   \n",
       "1965                    119453     41.010360     -72.530560   \n",
       "1966                     57469     41.010360     -72.530560   \n",
       "1967                     58870     41.010250     -72.530580   \n",
       "1968                    176455     45.013092      -0.786197   \n",
       "1969                    153000     45.013092      -0.786197   \n",
       "1970                    177798     45.013092      -0.786197   \n",
       "1971                    149114     45.013092      -0.786197   \n",
       "1972                    269254     45.013092      -0.786197   \n",
       "1973                    187910     45.013092      -0.786197   \n",
       "1974                    131374     45.013092      -0.786197   \n",
       "1975                    295829     45.013092      -0.786197   \n",
       "1976                    275980     45.013092      -0.786197   \n",
       "1977                    196678     45.013092      -0.786197   \n",
       "1978                    140903     45.013092      -0.786197   \n",
       "1979                    183805     45.013092      -0.786197   \n",
       "1980                    128824     45.013092      -0.786197   \n",
       "1981                    153487     41.025250     -72.461580   \n",
       "1982                    115994     41.025250     -72.461580   \n",
       "1983                    174497     41.025250     -72.461580   \n",
       "1984                     47376     41.025340     -72.461710   \n",
       "1985                    101210     41.025250     -72.461580   \n",
       "1986                     88713     41.025250     -72.461580   \n",
       "1987                     82740     41.025250     -72.461580   \n",
       "1988                     41000     41.025250     -72.461580   \n",
       "1989                    148686     41.025430     -72.461710   \n",
       "1990                     67135     41.025410     -72.461850   \n",
       "1991                     99720     41.025250     -72.461580   \n",
       "1992                     69658     41.025250     -72.461580   \n",
       "1993                     53679     41.025250     -72.461580   \n",
       "1994                     74997     41.025340     -72.461710   \n",
       "1995                     90850     41.025250     -72.461580   \n",
       "1996                    115902     41.025250     -72.461580   \n",
       "1997                    204706     41.025250     -72.461580   \n",
       "1998                     53892     41.025340     -72.461710   \n",
       "1999                     50070     41.025310     -72.461750   \n",
       "\n",
       "      temperature_deg_c             empo_3                     envo_biome_2  \n",
       "0                   NaN  Animal distal gut  anthropogenic terrestrial biome  \n",
       "1                   NaN  Animal distal gut  anthropogenic terrestrial biome  \n",
       "2                   NaN  Animal distal gut  anthropogenic terrestrial biome  \n",
       "3                   NaN  Animal distal gut  anthropogenic terrestrial biome  \n",
       "4                   NaN  Animal distal gut  anthropogenic terrestrial biome  \n",
       "5                   NaN  Animal distal gut  anthropogenic terrestrial biome  \n",
       "6                   NaN  Animal distal gut  anthropogenic terrestrial biome  \n",
       "7                   NaN  Animal distal gut  anthropogenic terrestrial biome  \n",
       "8                   NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "9                   NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "10                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "11                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "12                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "13                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "14                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "15                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "16                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "17                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "18                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "19                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "20                  NaN     Animal surface  anthropogenic terrestrial biome  \n",
       "21                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "22                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "23                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "24                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "25                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "26                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "27                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "28                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "29                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "30                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "31                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "32                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "33                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "34                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "35                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "36                  NaN   Animal secretion  anthropogenic terrestrial biome  \n",
       "37                  NaN  Soil (non-saline)  anthropogenic terrestrial biome  \n",
       "38                  NaN  Soil (non-saline)                     tundra biome  \n",
       "39                  NaN  Soil (non-saline)                     forest biome  \n",
       "...                 ...                ...                              ...  \n",
       "1960                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1961                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1962                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1963                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1964                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1965                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1966                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1967                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1968                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1969                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1970                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1971                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1972                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1973                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1974                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1975                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1976                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1977                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1978                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1979                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1980                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1981                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1982                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1983                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1984                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1985                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1986                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1987                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1988                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1989                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1990                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1991                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1992                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1993                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1994                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1995                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1996                NaN       Plant corpus  anthropogenic terrestrial biome  \n",
       "1997                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1998                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "1999                NaN  Plant rhizosphere  anthropogenic terrestrial biome  \n",
       "\n",
       "[2000 rows x 8 columns]"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "# get only rows with temperature data, then reset index (and drop old index)\n",
    "df = df[df.temperature_deg_c.notna()].reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>#SampleID</th>\n",
       "      <th>study_id</th>\n",
       "      <th>observations_deblur_90bp</th>\n",
       "      <th>latitude_deg</th>\n",
       "      <th>longitude_deg</th>\n",
       "      <th>temperature_deg_c</th>\n",
       "      <th>empo_3</th>\n",
       "      <th>envo_biome_2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>678.OA.mesocosm.362</td>\n",
       "      <td>678</td>\n",
       "      <td>40702</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>11.000000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>678.OA.mesocosm.376</td>\n",
       "      <td>678</td>\n",
       "      <td>15180</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>10.800000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>678.OA.mesocosm.410</td>\n",
       "      <td>678</td>\n",
       "      <td>18674</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>12.100000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>678.OA.mesocosm.417</td>\n",
       "      <td>678</td>\n",
       "      <td>53128</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>11.000000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>678.OA.mesocosm.431</td>\n",
       "      <td>678</td>\n",
       "      <td>20626</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>11.100000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>678.OA.mesocosm.438</td>\n",
       "      <td>678</td>\n",
       "      <td>19904</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>11.600000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...</td>\n",
       "      <td>723</td>\n",
       "      <td>163972</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.642100</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137...</td>\n",
       "      <td>723</td>\n",
       "      <td>90238</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.648100</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137...</td>\n",
       "      <td>723</td>\n",
       "      <td>128593</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.648000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>723</td>\n",
       "      <td>66563</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.650800</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137...</td>\n",
       "      <td>723</td>\n",
       "      <td>16821</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.653100</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>723</td>\n",
       "      <td>79804</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.651800</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>723</td>\n",
       "      <td>22668</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.651700</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>723</td>\n",
       "      <td>17307</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.645300</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>723</td>\n",
       "      <td>80676</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.645300</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>723</td>\n",
       "      <td>81809</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-5.000000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>723</td>\n",
       "      <td>162427</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-15.000000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>723</td>\n",
       "      <td>106390</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-5.000000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>723</td>\n",
       "      <td>320506</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-5.000000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>755.EF.DELTA.26.05.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>39864</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>14.060000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>755.EF.GAMMA.09.06.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>41035</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>14.600000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>755.INB.24.08.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>50235</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>15.440000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>755.INA.19.07.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>51801</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>16.660000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>755.INB.26.07.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>50339</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>45805</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>19.000000</td>\n",
       "      <td>Soil (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>755.LAB.IN.22.07.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>55145</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>18.060000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>755.EF.BETA.30.06.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>54472</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>14.300000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>755.EFB.18.10.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>43742</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>9.480000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>755.INB.20.09.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>40748</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>13.120000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>755.EFA.20.09.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>51051</td>\n",
       "      <td>55.906000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>14.900000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>755.INB.17.05.11.lane1.NoIndex.L001</td>\n",
       "      <td>755</td>\n",
       "      <td>56641</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>12.320000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>804.3862.1219</td>\n",
       "      <td>804</td>\n",
       "      <td>79423</td>\n",
       "      <td>30.123970</td>\n",
       "      <td>-42.120113</td>\n",
       "      <td>88.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>804.3862.1325</td>\n",
       "      <td>804</td>\n",
       "      <td>130967</td>\n",
       "      <td>30.123970</td>\n",
       "      <td>-42.120113</td>\n",
       "      <td>88.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>804.3869.1404</td>\n",
       "      <td>804</td>\n",
       "      <td>67311</td>\n",
       "      <td>30.123934</td>\n",
       "      <td>-42.120154</td>\n",
       "      <td>70.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>804.3869.1446</td>\n",
       "      <td>804</td>\n",
       "      <td>155732</td>\n",
       "      <td>30.123934</td>\n",
       "      <td>-42.120154</td>\n",
       "      <td>70.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>804.3876.1104</td>\n",
       "      <td>804</td>\n",
       "      <td>120919</td>\n",
       "      <td>30.124060</td>\n",
       "      <td>-42.119107</td>\n",
       "      <td>12.500000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>804.3876.1436</td>\n",
       "      <td>804</td>\n",
       "      <td>85130</td>\n",
       "      <td>30.123889</td>\n",
       "      <td>-42.120061</td>\n",
       "      <td>91.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>804.3867.1228.2</td>\n",
       "      <td>804</td>\n",
       "      <td>123983</td>\n",
       "      <td>30.124755</td>\n",
       "      <td>-42.119024</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>804.3867.1228.4</td>\n",
       "      <td>804</td>\n",
       "      <td>66861</td>\n",
       "      <td>30.124755</td>\n",
       "      <td>-42.119024</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>804.3867.1228.5</td>\n",
       "      <td>804</td>\n",
       "      <td>169213</td>\n",
       "      <td>30.124755</td>\n",
       "      <td>-42.119024</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>371</th>\n",
       "      <td>2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>47354</td>\n",
       "      <td>-43.529700</td>\n",
       "      <td>146.956700</td>\n",
       "      <td>20.273823</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>372</th>\n",
       "      <td>2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>73108</td>\n",
       "      <td>-43.140300</td>\n",
       "      <td>147.968100</td>\n",
       "      <td>12.535678</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>373</th>\n",
       "      <td>2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>70051</td>\n",
       "      <td>-43.032500</td>\n",
       "      <td>147.946000</td>\n",
       "      <td>12.350617</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>374</th>\n",
       "      <td>2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>67294</td>\n",
       "      <td>-43.032500</td>\n",
       "      <td>147.946000</td>\n",
       "      <td>12.350617</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>375</th>\n",
       "      <td>2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>60370</td>\n",
       "      <td>-43.139900</td>\n",
       "      <td>148.001700</td>\n",
       "      <td>18.000000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>376</th>\n",
       "      <td>2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>63994</td>\n",
       "      <td>-43.139900</td>\n",
       "      <td>148.001700</td>\n",
       "      <td>18.000000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>377</th>\n",
       "      <td>2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>26576</td>\n",
       "      <td>-43.123400</td>\n",
       "      <td>147.975800</td>\n",
       "      <td>20.200000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>378</th>\n",
       "      <td>2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>75078</td>\n",
       "      <td>-41.881600</td>\n",
       "      <td>148.306000</td>\n",
       "      <td>12.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>379</th>\n",
       "      <td>2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>56845</td>\n",
       "      <td>-33.990700</td>\n",
       "      <td>151.232400</td>\n",
       "      <td>16.800000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>380</th>\n",
       "      <td>2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>56557</td>\n",
       "      <td>-33.990700</td>\n",
       "      <td>151.232400</td>\n",
       "      <td>16.800000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>381</th>\n",
       "      <td>2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>64368</td>\n",
       "      <td>-33.990700</td>\n",
       "      <td>151.232400</td>\n",
       "      <td>16.800000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>382</th>\n",
       "      <td>2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>63247</td>\n",
       "      <td>-33.965600</td>\n",
       "      <td>151.256100</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>383</th>\n",
       "      <td>2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>55638</td>\n",
       "      <td>-31.594600</td>\n",
       "      <td>152.843300</td>\n",
       "      <td>13.333710</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>384</th>\n",
       "      <td>2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>76005</td>\n",
       "      <td>-31.717000</td>\n",
       "      <td>152.797900</td>\n",
       "      <td>12.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>385</th>\n",
       "      <td>2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>65016</td>\n",
       "      <td>-43.407700</td>\n",
       "      <td>147.018100</td>\n",
       "      <td>12.576308</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>386</th>\n",
       "      <td>2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>58870</td>\n",
       "      <td>-42.950900</td>\n",
       "      <td>147.355100</td>\n",
       "      <td>18.035968</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>387</th>\n",
       "      <td>2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>42917</td>\n",
       "      <td>-43.529700</td>\n",
       "      <td>146.956700</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>388</th>\n",
       "      <td>2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>36948</td>\n",
       "      <td>-43.007700</td>\n",
       "      <td>147.934300</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>389</th>\n",
       "      <td>2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>57253</td>\n",
       "      <td>-43.123400</td>\n",
       "      <td>147.975800</td>\n",
       "      <td>20.200000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>390</th>\n",
       "      <td>2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>45401</td>\n",
       "      <td>-41.881600</td>\n",
       "      <td>148.306000</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>391</th>\n",
       "      <td>2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>42699</td>\n",
       "      <td>-41.908800</td>\n",
       "      <td>148.321300</td>\n",
       "      <td>16.712661</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>392</th>\n",
       "      <td>2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>57812</td>\n",
       "      <td>-41.846400</td>\n",
       "      <td>148.278600</td>\n",
       "      <td>17.700000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>393</th>\n",
       "      <td>2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>39171</td>\n",
       "      <td>-41.869300</td>\n",
       "      <td>148.303000</td>\n",
       "      <td>16.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>394</th>\n",
       "      <td>2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>76000</td>\n",
       "      <td>-41.869300</td>\n",
       "      <td>148.303000</td>\n",
       "      <td>16.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>395</th>\n",
       "      <td>2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>69629</td>\n",
       "      <td>-33.800600</td>\n",
       "      <td>151.297100</td>\n",
       "      <td>12.910730</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>396</th>\n",
       "      <td>2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>72967</td>\n",
       "      <td>-33.990700</td>\n",
       "      <td>151.232400</td>\n",
       "      <td>12.993581</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>397</th>\n",
       "      <td>2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>56445</td>\n",
       "      <td>-35.816700</td>\n",
       "      <td>150.233200</td>\n",
       "      <td>16.980000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>398</th>\n",
       "      <td>2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>49737</td>\n",
       "      <td>-35.780900</td>\n",
       "      <td>150.237200</td>\n",
       "      <td>20.200000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399</th>\n",
       "      <td>2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>72432</td>\n",
       "      <td>-35.780900</td>\n",
       "      <td>150.237200</td>\n",
       "      <td>20.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>400</th>\n",
       "      <td>2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>57030</td>\n",
       "      <td>-31.594600</td>\n",
       "      <td>152.843300</td>\n",
       "      <td>12.993581</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>401</th>\n",
       "      <td>2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>31685</td>\n",
       "      <td>-31.717000</td>\n",
       "      <td>152.797900</td>\n",
       "      <td>15.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>402</th>\n",
       "      <td>2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>34181</td>\n",
       "      <td>-43.407700</td>\n",
       "      <td>147.018100</td>\n",
       "      <td>15.500000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>403</th>\n",
       "      <td>2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>44509</td>\n",
       "      <td>-43.425700</td>\n",
       "      <td>147.023200</td>\n",
       "      <td>18.000000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>404</th>\n",
       "      <td>2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>44866</td>\n",
       "      <td>-43.139900</td>\n",
       "      <td>148.001700</td>\n",
       "      <td>17.700000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>405</th>\n",
       "      <td>2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>52738</td>\n",
       "      <td>-43.123400</td>\n",
       "      <td>147.975800</td>\n",
       "      <td>20.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>406</th>\n",
       "      <td>2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>2229</td>\n",
       "      <td>36035</td>\n",
       "      <td>-41.871000</td>\n",
       "      <td>148.303300</td>\n",
       "      <td>18.300000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>407</th>\n",
       "      <td>2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>2229</td>\n",
       "      <td>57826</td>\n",
       "      <td>-41.869300</td>\n",
       "      <td>148.303000</td>\n",
       "      <td>20.236952</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>408</th>\n",
       "      <td>2300.BB.4087.anus</td>\n",
       "      <td>2300</td>\n",
       "      <td>102404</td>\n",
       "      <td>47.937130</td>\n",
       "      <td>-95.986280</td>\n",
       "      <td>35.055556</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>forest biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>409</th>\n",
       "      <td>2300.BB.4087.lavage20</td>\n",
       "      <td>2300</td>\n",
       "      <td>100213</td>\n",
       "      <td>47.937130</td>\n",
       "      <td>-95.986280</td>\n",
       "      <td>35.055556</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>forest biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>410</th>\n",
       "      <td>2300.BB.08.lavage20</td>\n",
       "      <td>2300</td>\n",
       "      <td>82534</td>\n",
       "      <td>47.937130</td>\n",
       "      <td>-95.986280</td>\n",
       "      <td>36.222222</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>forest biome</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>411 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                             #SampleID  study_id  \\\n",
       "0                                  678.OA.mesocosm.362       678   \n",
       "1                                  678.OA.mesocosm.376       678   \n",
       "2                                  678.OA.mesocosm.410       678   \n",
       "3                                  678.OA.mesocosm.417       678   \n",
       "4                                  678.OA.mesocosm.431       678   \n",
       "5                                  678.OA.mesocosm.438       678   \n",
       "6    723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...       723   \n",
       "7    723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137...       723   \n",
       "8    723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137...       723   \n",
       "9    723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS13...       723   \n",
       "10   723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137...       723   \n",
       "11   723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS13...       723   \n",
       "12   723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS13...       723   \n",
       "13   723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS13...       723   \n",
       "14   723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS13...       723   \n",
       "15   723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS13...       723   \n",
       "16   723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS13...       723   \n",
       "17   723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS13...       723   \n",
       "18   723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS13...       723   \n",
       "19            755.EF.DELTA.26.05.11.lane1.NoIndex.L001       755   \n",
       "20            755.EF.GAMMA.09.06.11.lane1.NoIndex.L001       755   \n",
       "21                 755.INB.24.08.11.lane1.NoIndex.L001       755   \n",
       "22                 755.INA.19.07.11.lane1.NoIndex.L001       755   \n",
       "23                 755.INB.26.07.11.lane1.NoIndex.L001       755   \n",
       "24      755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001       755   \n",
       "25              755.LAB.IN.22.07.11.lane1.NoIndex.L001       755   \n",
       "26             755.EF.BETA.30.06.11.lane1.NoIndex.L001       755   \n",
       "27                 755.EFB.18.10.11.lane1.NoIndex.L001       755   \n",
       "28                 755.INB.20.09.11.lane1.NoIndex.L001       755   \n",
       "29                 755.EFA.20.09.11.lane1.NoIndex.L001       755   \n",
       "30                 755.INB.17.05.11.lane1.NoIndex.L001       755   \n",
       "31                                       804.3862.1219       804   \n",
       "32                                       804.3862.1325       804   \n",
       "33                                       804.3869.1404       804   \n",
       "34                                       804.3869.1446       804   \n",
       "35                                       804.3876.1104       804   \n",
       "36                                       804.3876.1436       804   \n",
       "37                                     804.3867.1228.2       804   \n",
       "38                                     804.3867.1228.4       804   \n",
       "39                                     804.3867.1228.5       804   \n",
       "..                                                 ...       ...   \n",
       "371  2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "372  2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "373  2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "374  2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "375  2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "376  2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "377  2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "378  2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "379  2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "380  2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "381  2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "382  2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "383  2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "384  2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "385  2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoIn...      2229   \n",
       "386  2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "387  2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "388  2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoIn...      2229   \n",
       "389  2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "390  2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoIn...      2229   \n",
       "391  2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "392  2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "393  2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "394  2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "395  2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "396  2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "397  2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "398  2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "399  2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "400  2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoIn...      2229   \n",
       "401  2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoIn...      2229   \n",
       "402  2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoIn...      2229   \n",
       "403  2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "404  2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "405  2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "406  2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoIn...      2229   \n",
       "407  2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "408                                  2300.BB.4087.anus      2300   \n",
       "409                              2300.BB.4087.lavage20      2300   \n",
       "410                                2300.BB.08.lavage20      2300   \n",
       "\n",
       "     observations_deblur_90bp  latitude_deg  longitude_deg  temperature_deg_c  \\\n",
       "0                       40702     50.338000      -4.148000          11.000000   \n",
       "1                       15180     50.338000      -4.148000          10.800000   \n",
       "2                       18674     50.338000      -4.148000          12.100000   \n",
       "3                       53128     50.338000      -4.148000          11.000000   \n",
       "4                       20626     50.338000      -4.148000          11.100000   \n",
       "5                       19904     50.338000      -4.148000          11.600000   \n",
       "6                      163972     78.712000    -104.878000          -1.642100   \n",
       "7                       90238     78.712000    -104.878000          -1.648100   \n",
       "8                      128593     78.712000    -104.878000          -1.648000   \n",
       "9                       66563     78.712000    -104.878000          -1.650800   \n",
       "10                      16821     78.712000    -104.878000          -1.653100   \n",
       "11                      79804     78.712000    -104.878000          -1.651800   \n",
       "12                      22668     78.712000    -104.878000          -1.651700   \n",
       "13                      17307     78.712000    -104.878000          -1.645300   \n",
       "14                      80676     78.712000    -104.878000          -1.645300   \n",
       "15                      81809     78.712000    -104.878000          -5.000000   \n",
       "16                     162427     78.712000    -104.878000         -15.000000   \n",
       "17                     106390     78.712000    -104.878000          -5.000000   \n",
       "18                     320506     78.712000    -104.878000          -5.000000   \n",
       "19                      39864     55.873000      -4.284000          14.060000   \n",
       "20                      41035     55.873000      -4.284000          14.600000   \n",
       "21                      50235     55.905000      -3.204000          15.440000   \n",
       "22                      51801     55.905000      -3.204000          16.660000   \n",
       "23                      50339     55.905000      -3.204000          16.900000   \n",
       "24                      45805     55.873000      -4.284000          19.000000   \n",
       "25                      55145     55.873000      -4.284000          18.060000   \n",
       "26                      54472     55.873000      -4.284000          14.300000   \n",
       "27                      43742     55.905000      -3.204000           9.480000   \n",
       "28                      40748     55.905000      -3.204000          13.120000   \n",
       "29                      51051     55.906000      -3.204000          14.900000   \n",
       "30                      56641     55.905000      -3.204000          12.320000   \n",
       "31                      79423     30.123970     -42.120113          88.000000   \n",
       "32                     130967     30.123970     -42.120113          88.000000   \n",
       "33                      67311     30.123934     -42.120154          70.000000   \n",
       "34                     155732     30.123934     -42.120154          70.000000   \n",
       "35                     120919     30.124060     -42.119107          12.500000   \n",
       "36                      85130     30.123889     -42.120061          91.000000   \n",
       "37                     123983     30.124755     -42.119024          28.000000   \n",
       "38                      66861     30.124755     -42.119024          28.000000   \n",
       "39                     169213     30.124755     -42.119024          28.000000   \n",
       "..                        ...           ...            ...                ...   \n",
       "371                     47354    -43.529700     146.956700          20.273823   \n",
       "372                     73108    -43.140300     147.968100          12.535678   \n",
       "373                     70051    -43.032500     147.946000          12.350617   \n",
       "374                     67294    -43.032500     147.946000          12.350617   \n",
       "375                     60370    -43.139900     148.001700          18.000000   \n",
       "376                     63994    -43.139900     148.001700          18.000000   \n",
       "377                     26576    -43.123400     147.975800          20.200000   \n",
       "378                     75078    -41.881600     148.306000          12.600000   \n",
       "379                     56845    -33.990700     151.232400          16.800000   \n",
       "380                     56557    -33.990700     151.232400          16.800000   \n",
       "381                     64368    -33.990700     151.232400          16.800000   \n",
       "382                     63247    -33.965600     151.256100          16.900000   \n",
       "383                     55638    -31.594600     152.843300          13.333710   \n",
       "384                     76005    -31.717000     152.797900          12.600000   \n",
       "385                     65016    -43.407700     147.018100          12.576308   \n",
       "386                     58870    -42.950900     147.355100          18.035968   \n",
       "387                     42917    -43.529700     146.956700          16.900000   \n",
       "388                     36948    -43.007700     147.934300          16.900000   \n",
       "389                     57253    -43.123400     147.975800          20.200000   \n",
       "390                     45401    -41.881600     148.306000          16.900000   \n",
       "391                     42699    -41.908800     148.321300          16.712661   \n",
       "392                     57812    -41.846400     148.278600          17.700000   \n",
       "393                     39171    -41.869300     148.303000          16.600000   \n",
       "394                     76000    -41.869300     148.303000          16.600000   \n",
       "395                     69629    -33.800600     151.297100          12.910730   \n",
       "396                     72967    -33.990700     151.232400          12.993581   \n",
       "397                     56445    -35.816700     150.233200          16.980000   \n",
       "398                     49737    -35.780900     150.237200          20.200000   \n",
       "399                     72432    -35.780900     150.237200          20.600000   \n",
       "400                     57030    -31.594600     152.843300          12.993581   \n",
       "401                     31685    -31.717000     152.797900          15.600000   \n",
       "402                     34181    -43.407700     147.018100          15.500000   \n",
       "403                     44509    -43.425700     147.023200          18.000000   \n",
       "404                     44866    -43.139900     148.001700          17.700000   \n",
       "405                     52738    -43.123400     147.975800          20.600000   \n",
       "406                     36035    -41.871000     148.303300          18.300000   \n",
       "407                     57826    -41.869300     148.303000          20.236952   \n",
       "408                    102404     47.937130     -95.986280          35.055556   \n",
       "409                    100213     47.937130     -95.986280          35.055556   \n",
       "410                     82534     47.937130     -95.986280          36.222222   \n",
       "\n",
       "                 empo_3                     envo_biome_2  \n",
       "0     Sediment (saline)                     marine biome  \n",
       "1     Sediment (saline)                     marine biome  \n",
       "2     Sediment (saline)                     marine biome  \n",
       "3     Sediment (saline)                     marine biome  \n",
       "4     Sediment (saline)                     marine biome  \n",
       "5     Sediment (saline)                     marine biome  \n",
       "6        Water (saline)                     marine biome  \n",
       "7        Water (saline)                     marine biome  \n",
       "8        Water (saline)                     marine biome  \n",
       "9        Water (saline)                     marine biome  \n",
       "10       Water (saline)                     marine biome  \n",
       "11       Water (saline)                     marine biome  \n",
       "12       Water (saline)                     marine biome  \n",
       "13       Water (saline)                     marine biome  \n",
       "14       Water (saline)                     marine biome  \n",
       "15       Water (saline)                     marine biome  \n",
       "16       Water (saline)                     marine biome  \n",
       "17       Water (saline)                     marine biome  \n",
       "18       Water (saline)                     marine biome  \n",
       "19   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "20   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "21   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "22   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "23   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "24    Soil (non-saline)  anthropogenic terrestrial biome  \n",
       "25   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "26   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "27   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "28   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "29   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "30   Water (non-saline)  anthropogenic terrestrial biome  \n",
       "31     Surface (saline)                     marine biome  \n",
       "32     Surface (saline)                     marine biome  \n",
       "33     Surface (saline)                     marine biome  \n",
       "34     Surface (saline)                     marine biome  \n",
       "35     Surface (saline)                     marine biome  \n",
       "36     Surface (saline)                     marine biome  \n",
       "37     Surface (saline)                     marine biome  \n",
       "38     Surface (saline)                     marine biome  \n",
       "39     Surface (saline)                     marine biome  \n",
       "..                  ...                              ...  \n",
       "371       Plant surface                     marine biome  \n",
       "372       Plant surface                     marine biome  \n",
       "373       Plant surface                     marine biome  \n",
       "374       Plant surface                     marine biome  \n",
       "375       Plant surface                     marine biome  \n",
       "376       Plant surface                     marine biome  \n",
       "377       Plant surface                     marine biome  \n",
       "378       Plant surface                     marine biome  \n",
       "379       Plant surface                     marine biome  \n",
       "380       Plant surface                     marine biome  \n",
       "381       Plant surface                     marine biome  \n",
       "382       Plant surface                     marine biome  \n",
       "383       Plant surface                     marine biome  \n",
       "384       Plant surface                     marine biome  \n",
       "385       Plant surface                     marine biome  \n",
       "386       Plant surface                     marine biome  \n",
       "387       Plant surface                     marine biome  \n",
       "388       Plant surface                     marine biome  \n",
       "389       Plant surface                     marine biome  \n",
       "390       Plant surface                     marine biome  \n",
       "391       Plant surface                     marine biome  \n",
       "392       Plant surface                     marine biome  \n",
       "393       Plant surface                     marine biome  \n",
       "394       Plant surface                     marine biome  \n",
       "395       Plant surface                     marine biome  \n",
       "396       Plant surface                     marine biome  \n",
       "397       Plant surface                     marine biome  \n",
       "398       Plant surface                     marine biome  \n",
       "399       Plant surface                     marine biome  \n",
       "400       Plant surface                     marine biome  \n",
       "401       Plant surface                     marine biome  \n",
       "402       Plant surface                     marine biome  \n",
       "403       Plant surface                     marine biome  \n",
       "404       Plant surface                     marine biome  \n",
       "405       Plant surface                     marine biome  \n",
       "406       Plant surface                     marine biome  \n",
       "407       Plant surface                     marine biome  \n",
       "408   Animal distal gut                     forest biome  \n",
       "409   Animal distal gut                     forest biome  \n",
       "410   Animal distal gut                     forest biome  \n",
       "\n",
       "[411 rows x 8 columns]"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>#SampleID</th>\n",
       "      <th>variable</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>678.OA.mesocosm.362</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>40702.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>678.OA.mesocosm.376</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>15180.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>678.OA.mesocosm.410</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>18674.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>678.OA.mesocosm.417</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>53128.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>678.OA.mesocosm.431</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>20626.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>678.OA.mesocosm.438</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>19904.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>163972.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>90238.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>128593.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>66563.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>16821.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>79804.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>22668.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>17307.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>80676.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>81809.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>162427.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>106390.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS13...</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>320506.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>755.EF.DELTA.26.05.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>39864.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>755.EF.GAMMA.09.06.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>41035.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>755.INB.24.08.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>50235.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>755.INA.19.07.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>51801.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>755.INB.26.07.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>50339.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>45805.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>755.LAB.IN.22.07.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>55145.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>755.EF.BETA.30.06.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>54472.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>755.EFB.18.10.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>43742.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>755.INB.20.09.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>40748.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>755.EFA.20.09.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>51051.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>755.INB.17.05.11.lane1.NoIndex.L001</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>56641.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>804.3862.1219</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>79423.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>804.3862.1325</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>130967.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>804.3869.1404</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>67311.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>804.3869.1446</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>155732.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>804.3876.1104</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>120919.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>804.3876.1436</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>85130.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>804.3867.1228.2</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>123983.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>804.3867.1228.4</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>66861.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>804.3867.1228.5</td>\n",
       "      <td>observations_deblur_90bp</td>\n",
       "      <td>169213.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1604</th>\n",
       "      <td>2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>20.273823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1605</th>\n",
       "      <td>2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>12.535678</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1606</th>\n",
       "      <td>2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>12.350617</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1607</th>\n",
       "      <td>2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>12.350617</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1608</th>\n",
       "      <td>2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>18.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1609</th>\n",
       "      <td>2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>18.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1610</th>\n",
       "      <td>2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>20.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1611</th>\n",
       "      <td>2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>12.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1612</th>\n",
       "      <td>2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1613</th>\n",
       "      <td>2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1614</th>\n",
       "      <td>2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1615</th>\n",
       "      <td>2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1616</th>\n",
       "      <td>2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>13.333710</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1617</th>\n",
       "      <td>2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>12.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1618</th>\n",
       "      <td>2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>12.576308</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1619</th>\n",
       "      <td>2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>18.035968</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1620</th>\n",
       "      <td>2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1621</th>\n",
       "      <td>2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1622</th>\n",
       "      <td>2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>20.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1623</th>\n",
       "      <td>2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1624</th>\n",
       "      <td>2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.712661</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1625</th>\n",
       "      <td>2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>17.700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1626</th>\n",
       "      <td>2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1627</th>\n",
       "      <td>2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1628</th>\n",
       "      <td>2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>12.910730</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1629</th>\n",
       "      <td>2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>12.993581</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1630</th>\n",
       "      <td>2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>16.980000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1631</th>\n",
       "      <td>2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>20.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1632</th>\n",
       "      <td>2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>20.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1633</th>\n",
       "      <td>2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>12.993581</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1634</th>\n",
       "      <td>2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>15.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1635</th>\n",
       "      <td>2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>15.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1636</th>\n",
       "      <td>2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>18.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1637</th>\n",
       "      <td>2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>17.700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1638</th>\n",
       "      <td>2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>20.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1639</th>\n",
       "      <td>2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoIn...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>18.300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1640</th>\n",
       "      <td>2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInd...</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>20.236952</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1641</th>\n",
       "      <td>2300.BB.4087.anus</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>35.055556</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1642</th>\n",
       "      <td>2300.BB.4087.lavage20</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>35.055556</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1643</th>\n",
       "      <td>2300.BB.08.lavage20</td>\n",
       "      <td>temperature_deg_c</td>\n",
       "      <td>36.222222</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1644 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                              #SampleID  \\\n",
       "0                                   678.OA.mesocosm.362   \n",
       "1                                   678.OA.mesocosm.376   \n",
       "2                                   678.OA.mesocosm.410   \n",
       "3                                   678.OA.mesocosm.417   \n",
       "4                                   678.OA.mesocosm.431   \n",
       "5                                   678.OA.mesocosm.438   \n",
       "6     723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...   \n",
       "7     723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137...   \n",
       "8     723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137...   \n",
       "9     723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS13...   \n",
       "10    723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137...   \n",
       "11    723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS13...   \n",
       "12    723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS13...   \n",
       "13    723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS13...   \n",
       "14    723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS13...   \n",
       "15    723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS13...   \n",
       "16    723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS13...   \n",
       "17    723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS13...   \n",
       "18    723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS13...   \n",
       "19             755.EF.DELTA.26.05.11.lane1.NoIndex.L001   \n",
       "20             755.EF.GAMMA.09.06.11.lane1.NoIndex.L001   \n",
       "21                  755.INB.24.08.11.lane1.NoIndex.L001   \n",
       "22                  755.INA.19.07.11.lane1.NoIndex.L001   \n",
       "23                  755.INB.26.07.11.lane1.NoIndex.L001   \n",
       "24       755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001   \n",
       "25               755.LAB.IN.22.07.11.lane1.NoIndex.L001   \n",
       "26              755.EF.BETA.30.06.11.lane1.NoIndex.L001   \n",
       "27                  755.EFB.18.10.11.lane1.NoIndex.L001   \n",
       "28                  755.INB.20.09.11.lane1.NoIndex.L001   \n",
       "29                  755.EFA.20.09.11.lane1.NoIndex.L001   \n",
       "30                  755.INB.17.05.11.lane1.NoIndex.L001   \n",
       "31                                        804.3862.1219   \n",
       "32                                        804.3862.1325   \n",
       "33                                        804.3869.1404   \n",
       "34                                        804.3869.1446   \n",
       "35                                        804.3876.1104   \n",
       "36                                        804.3876.1436   \n",
       "37                                      804.3867.1228.2   \n",
       "38                                      804.3867.1228.4   \n",
       "39                                      804.3867.1228.5   \n",
       "...                                                 ...   \n",
       "1604  2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInd...   \n",
       "1605  2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1606  2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1607  2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1608  2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInd...   \n",
       "1609  2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInd...   \n",
       "1610  2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInd...   \n",
       "1611  2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1612  2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1613  2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1614  2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1615  2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1616  2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1617  2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1618  2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoIn...   \n",
       "1619  2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInd...   \n",
       "1620  2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInd...   \n",
       "1621  2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoIn...   \n",
       "1622  2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInd...   \n",
       "1623  2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoIn...   \n",
       "1624  2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInd...   \n",
       "1625  2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInd...   \n",
       "1626  2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInd...   \n",
       "1627  2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInd...   \n",
       "1628  2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1629  2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1630  2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInd...   \n",
       "1631  2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInd...   \n",
       "1632  2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInd...   \n",
       "1633  2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoIn...   \n",
       "1634  2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoIn...   \n",
       "1635  2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoIn...   \n",
       "1636  2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInd...   \n",
       "1637  2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInd...   \n",
       "1638  2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInd...   \n",
       "1639  2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoIn...   \n",
       "1640  2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInd...   \n",
       "1641                                  2300.BB.4087.anus   \n",
       "1642                              2300.BB.4087.lavage20   \n",
       "1643                                2300.BB.08.lavage20   \n",
       "\n",
       "                      variable          value  \n",
       "0     observations_deblur_90bp   40702.000000  \n",
       "1     observations_deblur_90bp   15180.000000  \n",
       "2     observations_deblur_90bp   18674.000000  \n",
       "3     observations_deblur_90bp   53128.000000  \n",
       "4     observations_deblur_90bp   20626.000000  \n",
       "5     observations_deblur_90bp   19904.000000  \n",
       "6     observations_deblur_90bp  163972.000000  \n",
       "7     observations_deblur_90bp   90238.000000  \n",
       "8     observations_deblur_90bp  128593.000000  \n",
       "9     observations_deblur_90bp   66563.000000  \n",
       "10    observations_deblur_90bp   16821.000000  \n",
       "11    observations_deblur_90bp   79804.000000  \n",
       "12    observations_deblur_90bp   22668.000000  \n",
       "13    observations_deblur_90bp   17307.000000  \n",
       "14    observations_deblur_90bp   80676.000000  \n",
       "15    observations_deblur_90bp   81809.000000  \n",
       "16    observations_deblur_90bp  162427.000000  \n",
       "17    observations_deblur_90bp  106390.000000  \n",
       "18    observations_deblur_90bp  320506.000000  \n",
       "19    observations_deblur_90bp   39864.000000  \n",
       "20    observations_deblur_90bp   41035.000000  \n",
       "21    observations_deblur_90bp   50235.000000  \n",
       "22    observations_deblur_90bp   51801.000000  \n",
       "23    observations_deblur_90bp   50339.000000  \n",
       "24    observations_deblur_90bp   45805.000000  \n",
       "25    observations_deblur_90bp   55145.000000  \n",
       "26    observations_deblur_90bp   54472.000000  \n",
       "27    observations_deblur_90bp   43742.000000  \n",
       "28    observations_deblur_90bp   40748.000000  \n",
       "29    observations_deblur_90bp   51051.000000  \n",
       "30    observations_deblur_90bp   56641.000000  \n",
       "31    observations_deblur_90bp   79423.000000  \n",
       "32    observations_deblur_90bp  130967.000000  \n",
       "33    observations_deblur_90bp   67311.000000  \n",
       "34    observations_deblur_90bp  155732.000000  \n",
       "35    observations_deblur_90bp  120919.000000  \n",
       "36    observations_deblur_90bp   85130.000000  \n",
       "37    observations_deblur_90bp  123983.000000  \n",
       "38    observations_deblur_90bp   66861.000000  \n",
       "39    observations_deblur_90bp  169213.000000  \n",
       "...                        ...            ...  \n",
       "1604         temperature_deg_c      20.273823  \n",
       "1605         temperature_deg_c      12.535678  \n",
       "1606         temperature_deg_c      12.350617  \n",
       "1607         temperature_deg_c      12.350617  \n",
       "1608         temperature_deg_c      18.000000  \n",
       "1609         temperature_deg_c      18.000000  \n",
       "1610         temperature_deg_c      20.200000  \n",
       "1611         temperature_deg_c      12.600000  \n",
       "1612         temperature_deg_c      16.800000  \n",
       "1613         temperature_deg_c      16.800000  \n",
       "1614         temperature_deg_c      16.800000  \n",
       "1615         temperature_deg_c      16.900000  \n",
       "1616         temperature_deg_c      13.333710  \n",
       "1617         temperature_deg_c      12.600000  \n",
       "1618         temperature_deg_c      12.576308  \n",
       "1619         temperature_deg_c      18.035968  \n",
       "1620         temperature_deg_c      16.900000  \n",
       "1621         temperature_deg_c      16.900000  \n",
       "1622         temperature_deg_c      20.200000  \n",
       "1623         temperature_deg_c      16.900000  \n",
       "1624         temperature_deg_c      16.712661  \n",
       "1625         temperature_deg_c      17.700000  \n",
       "1626         temperature_deg_c      16.600000  \n",
       "1627         temperature_deg_c      16.600000  \n",
       "1628         temperature_deg_c      12.910730  \n",
       "1629         temperature_deg_c      12.993581  \n",
       "1630         temperature_deg_c      16.980000  \n",
       "1631         temperature_deg_c      20.200000  \n",
       "1632         temperature_deg_c      20.600000  \n",
       "1633         temperature_deg_c      12.993581  \n",
       "1634         temperature_deg_c      15.600000  \n",
       "1635         temperature_deg_c      15.500000  \n",
       "1636         temperature_deg_c      18.000000  \n",
       "1637         temperature_deg_c      17.700000  \n",
       "1638         temperature_deg_c      20.600000  \n",
       "1639         temperature_deg_c      18.300000  \n",
       "1640         temperature_deg_c      20.236952  \n",
       "1641         temperature_deg_c      35.055556  \n",
       "1642         temperature_deg_c      35.055556  \n",
       "1643         temperature_deg_c      36.222222  \n",
       "\n",
       "[1644 rows x 3 columns]"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# melt\n",
    "pd.melt(df, id_vars=['#SampleID'], value_vars=['observations_deblur_90bp', 'latitude_deg', \n",
    "                                               'longitude_deg', 'temperature_deg_c'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>envo_biome_2</th>\n",
       "      <th>anthropogenic terrestrial biome</th>\n",
       "      <th>forest biome</th>\n",
       "      <th>freshwater biome</th>\n",
       "      <th>marine biome</th>\n",
       "      <th>tundra biome</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>empo_3</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Aerosol (non-saline)</th>\n",
       "      <td>40.154286</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Animal distal gut</th>\n",
       "      <td>NaN</td>\n",
       "      <td>47.93713</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Plant rhizosphere</th>\n",
       "      <td>33.194000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Plant surface</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-38.904496</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sediment (non-saline)</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>45.584972</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sediment (saline)</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>58.652135</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Soil (non-saline)</th>\n",
       "      <td>38.863750</td>\n",
       "      <td>19.38900</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>71.296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Surface (non-saline)</th>\n",
       "      <td>44.545429</td>\n",
       "      <td>19.38900</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Surface (saline)</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>37.252081</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Water (non-saline)</th>\n",
       "      <td>55.893455</td>\n",
       "      <td>NaN</td>\n",
       "      <td>51.012160</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Water (saline)</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>54.294778</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "envo_biome_2           anthropogenic terrestrial biome  forest biome  \\\n",
       "empo_3                                                                 \n",
       "Aerosol (non-saline)                         40.154286           NaN   \n",
       "Animal distal gut                                  NaN      47.93713   \n",
       "Plant rhizosphere                            33.194000           NaN   \n",
       "Plant surface                                      NaN           NaN   \n",
       "Sediment (non-saline)                              NaN           NaN   \n",
       "Sediment (saline)                                  NaN           NaN   \n",
       "Soil (non-saline)                            38.863750      19.38900   \n",
       "Surface (non-saline)                         44.545429      19.38900   \n",
       "Surface (saline)                                   NaN           NaN   \n",
       "Water (non-saline)                           55.893455           NaN   \n",
       "Water (saline)                                     NaN           NaN   \n",
       "\n",
       "envo_biome_2           freshwater biome  marine biome  tundra biome  \n",
       "empo_3                                                               \n",
       "Aerosol (non-saline)                NaN           NaN           NaN  \n",
       "Animal distal gut                   NaN           NaN           NaN  \n",
       "Plant rhizosphere                   NaN           NaN           NaN  \n",
       "Plant surface                       NaN    -38.904496           NaN  \n",
       "Sediment (non-saline)         45.584972           NaN           NaN  \n",
       "Sediment (saline)                   NaN     58.652135           NaN  \n",
       "Soil (non-saline)                   NaN           NaN        71.296  \n",
       "Surface (non-saline)                NaN           NaN           NaN  \n",
       "Surface (saline)                    NaN     37.252081           NaN  \n",
       "Water (non-saline)            51.012160           NaN           NaN  \n",
       "Water (saline)                      NaN     54.294778           NaN  "
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# pivot_table\n",
    "df.pivot_table(index='empo_3', columns='envo_biome_2', values='latitude_deg', aggfunc='mean')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>study_id</th>\n",
       "      <th>observations_deblur_90bp</th>\n",
       "      <th>latitude_deg</th>\n",
       "      <th>longitude_deg</th>\n",
       "      <th>temperature_deg_c</th>\n",
       "      <th>empo_3</th>\n",
       "      <th>envo_biome_2</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>#SampleID</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>678.OA.mesocosm.362</th>\n",
       "      <td>678</td>\n",
       "      <td>40702</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>11.000000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>678.OA.mesocosm.376</th>\n",
       "      <td>678</td>\n",
       "      <td>15180</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>10.800000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>678.OA.mesocosm.410</th>\n",
       "      <td>678</td>\n",
       "      <td>18674</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>12.100000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>678.OA.mesocosm.417</th>\n",
       "      <td>678</td>\n",
       "      <td>53128</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>11.000000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>678.OA.mesocosm.431</th>\n",
       "      <td>678</td>\n",
       "      <td>20626</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>11.100000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>678.OA.mesocosm.438</th>\n",
       "      <td>678</td>\n",
       "      <td>19904</td>\n",
       "      <td>50.338000</td>\n",
       "      <td>-4.148000</td>\n",
       "      <td>11.600000</td>\n",
       "      <td>Sediment (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>163972</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.642100</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>90238</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.648100</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>128593</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.648000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>66563</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.650800</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>16821</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.653100</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>79804</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.651800</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>22668</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.651700</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>17307</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.645300</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>80676</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-1.645300</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>81809</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-5.000000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>162427</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-15.000000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>106390</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-5.000000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence</th>\n",
       "      <td>723</td>\n",
       "      <td>320506</td>\n",
       "      <td>78.712000</td>\n",
       "      <td>-104.878000</td>\n",
       "      <td>-5.000000</td>\n",
       "      <td>Water (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.EF.DELTA.26.05.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>39864</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>14.060000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.EF.GAMMA.09.06.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>41035</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>14.600000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.INB.24.08.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>50235</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>15.440000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.INA.19.07.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>51801</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>16.660000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.INB.26.07.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>50339</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>45805</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>19.000000</td>\n",
       "      <td>Soil (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.LAB.IN.22.07.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>55145</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>18.060000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.EF.BETA.30.06.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>54472</td>\n",
       "      <td>55.873000</td>\n",
       "      <td>-4.284000</td>\n",
       "      <td>14.300000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.EFB.18.10.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>43742</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>9.480000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.INB.20.09.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>40748</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>13.120000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.EFA.20.09.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>51051</td>\n",
       "      <td>55.906000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>14.900000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755.INB.17.05.11.lane1.NoIndex.L001</th>\n",
       "      <td>755</td>\n",
       "      <td>56641</td>\n",
       "      <td>55.905000</td>\n",
       "      <td>-3.204000</td>\n",
       "      <td>12.320000</td>\n",
       "      <td>Water (non-saline)</td>\n",
       "      <td>anthropogenic terrestrial biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>804.3862.1219</th>\n",
       "      <td>804</td>\n",
       "      <td>79423</td>\n",
       "      <td>30.123970</td>\n",
       "      <td>-42.120113</td>\n",
       "      <td>88.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>804.3862.1325</th>\n",
       "      <td>804</td>\n",
       "      <td>130967</td>\n",
       "      <td>30.123970</td>\n",
       "      <td>-42.120113</td>\n",
       "      <td>88.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>804.3869.1404</th>\n",
       "      <td>804</td>\n",
       "      <td>67311</td>\n",
       "      <td>30.123934</td>\n",
       "      <td>-42.120154</td>\n",
       "      <td>70.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>804.3869.1446</th>\n",
       "      <td>804</td>\n",
       "      <td>155732</td>\n",
       "      <td>30.123934</td>\n",
       "      <td>-42.120154</td>\n",
       "      <td>70.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>804.3876.1104</th>\n",
       "      <td>804</td>\n",
       "      <td>120919</td>\n",
       "      <td>30.124060</td>\n",
       "      <td>-42.119107</td>\n",
       "      <td>12.500000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>804.3876.1436</th>\n",
       "      <td>804</td>\n",
       "      <td>85130</td>\n",
       "      <td>30.123889</td>\n",
       "      <td>-42.120061</td>\n",
       "      <td>91.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>804.3867.1228.2</th>\n",
       "      <td>804</td>\n",
       "      <td>123983</td>\n",
       "      <td>30.124755</td>\n",
       "      <td>-42.119024</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>804.3867.1228.4</th>\n",
       "      <td>804</td>\n",
       "      <td>66861</td>\n",
       "      <td>30.124755</td>\n",
       "      <td>-42.119024</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>804.3867.1228.5</th>\n",
       "      <td>804</td>\n",
       "      <td>169213</td>\n",
       "      <td>30.124755</td>\n",
       "      <td>-42.119024</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>Surface (saline)</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>47354</td>\n",
       "      <td>-43.529700</td>\n",
       "      <td>146.956700</td>\n",
       "      <td>20.273823</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>73108</td>\n",
       "      <td>-43.140300</td>\n",
       "      <td>147.968100</td>\n",
       "      <td>12.535678</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>70051</td>\n",
       "      <td>-43.032500</td>\n",
       "      <td>147.946000</td>\n",
       "      <td>12.350617</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>67294</td>\n",
       "      <td>-43.032500</td>\n",
       "      <td>147.946000</td>\n",
       "      <td>12.350617</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>60370</td>\n",
       "      <td>-43.139900</td>\n",
       "      <td>148.001700</td>\n",
       "      <td>18.000000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>63994</td>\n",
       "      <td>-43.139900</td>\n",
       "      <td>148.001700</td>\n",
       "      <td>18.000000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>26576</td>\n",
       "      <td>-43.123400</td>\n",
       "      <td>147.975800</td>\n",
       "      <td>20.200000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>75078</td>\n",
       "      <td>-41.881600</td>\n",
       "      <td>148.306000</td>\n",
       "      <td>12.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>56845</td>\n",
       "      <td>-33.990700</td>\n",
       "      <td>151.232400</td>\n",
       "      <td>16.800000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>56557</td>\n",
       "      <td>-33.990700</td>\n",
       "      <td>151.232400</td>\n",
       "      <td>16.800000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>64368</td>\n",
       "      <td>-33.990700</td>\n",
       "      <td>151.232400</td>\n",
       "      <td>16.800000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>63247</td>\n",
       "      <td>-33.965600</td>\n",
       "      <td>151.256100</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>55638</td>\n",
       "      <td>-31.594600</td>\n",
       "      <td>152.843300</td>\n",
       "      <td>13.333710</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>76005</td>\n",
       "      <td>-31.717000</td>\n",
       "      <td>152.797900</td>\n",
       "      <td>12.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>65016</td>\n",
       "      <td>-43.407700</td>\n",
       "      <td>147.018100</td>\n",
       "      <td>12.576308</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>58870</td>\n",
       "      <td>-42.950900</td>\n",
       "      <td>147.355100</td>\n",
       "      <td>18.035968</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>42917</td>\n",
       "      <td>-43.529700</td>\n",
       "      <td>146.956700</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>36948</td>\n",
       "      <td>-43.007700</td>\n",
       "      <td>147.934300</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>57253</td>\n",
       "      <td>-43.123400</td>\n",
       "      <td>147.975800</td>\n",
       "      <td>20.200000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>45401</td>\n",
       "      <td>-41.881600</td>\n",
       "      <td>148.306000</td>\n",
       "      <td>16.900000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>42699</td>\n",
       "      <td>-41.908800</td>\n",
       "      <td>148.321300</td>\n",
       "      <td>16.712661</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>57812</td>\n",
       "      <td>-41.846400</td>\n",
       "      <td>148.278600</td>\n",
       "      <td>17.700000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>39171</td>\n",
       "      <td>-41.869300</td>\n",
       "      <td>148.303000</td>\n",
       "      <td>16.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>76000</td>\n",
       "      <td>-41.869300</td>\n",
       "      <td>148.303000</td>\n",
       "      <td>16.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>69629</td>\n",
       "      <td>-33.800600</td>\n",
       "      <td>151.297100</td>\n",
       "      <td>12.910730</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>72967</td>\n",
       "      <td>-33.990700</td>\n",
       "      <td>151.232400</td>\n",
       "      <td>12.993581</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>56445</td>\n",
       "      <td>-35.816700</td>\n",
       "      <td>150.233200</td>\n",
       "      <td>16.980000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>49737</td>\n",
       "      <td>-35.780900</td>\n",
       "      <td>150.237200</td>\n",
       "      <td>20.200000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>72432</td>\n",
       "      <td>-35.780900</td>\n",
       "      <td>150.237200</td>\n",
       "      <td>20.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>57030</td>\n",
       "      <td>-31.594600</td>\n",
       "      <td>152.843300</td>\n",
       "      <td>12.993581</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>31685</td>\n",
       "      <td>-31.717000</td>\n",
       "      <td>152.797900</td>\n",
       "      <td>15.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>34181</td>\n",
       "      <td>-43.407700</td>\n",
       "      <td>147.018100</td>\n",
       "      <td>15.500000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>44509</td>\n",
       "      <td>-43.425700</td>\n",
       "      <td>147.023200</td>\n",
       "      <td>18.000000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>44866</td>\n",
       "      <td>-43.139900</td>\n",
       "      <td>148.001700</td>\n",
       "      <td>17.700000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>52738</td>\n",
       "      <td>-43.123400</td>\n",
       "      <td>147.975800</td>\n",
       "      <td>20.600000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoIndex.L005</th>\n",
       "      <td>2229</td>\n",
       "      <td>36035</td>\n",
       "      <td>-41.871000</td>\n",
       "      <td>148.303300</td>\n",
       "      <td>18.300000</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoIndex.L006</th>\n",
       "      <td>2229</td>\n",
       "      <td>57826</td>\n",
       "      <td>-41.869300</td>\n",
       "      <td>148.303000</td>\n",
       "      <td>20.236952</td>\n",
       "      <td>Plant surface</td>\n",
       "      <td>marine biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2300.BB.4087.anus</th>\n",
       "      <td>2300</td>\n",
       "      <td>102404</td>\n",
       "      <td>47.937130</td>\n",
       "      <td>-95.986280</td>\n",
       "      <td>35.055556</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>forest biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2300.BB.4087.lavage20</th>\n",
       "      <td>2300</td>\n",
       "      <td>100213</td>\n",
       "      <td>47.937130</td>\n",
       "      <td>-95.986280</td>\n",
       "      <td>35.055556</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>forest biome</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2300.BB.08.lavage20</th>\n",
       "      <td>2300</td>\n",
       "      <td>82534</td>\n",
       "      <td>47.937130</td>\n",
       "      <td>-95.986280</td>\n",
       "      <td>36.222222</td>\n",
       "      <td>Animal distal gut</td>\n",
       "      <td>forest biome</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>411 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    study_id  \\\n",
       "#SampleID                                                      \n",
       "678.OA.mesocosm.362                                      678   \n",
       "678.OA.mesocosm.376                                      678   \n",
       "678.OA.mesocosm.410                                      678   \n",
       "678.OA.mesocosm.417                                      678   \n",
       "678.OA.mesocosm.431                                      678   \n",
       "678.OA.mesocosm.438                                      678   \n",
       "723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R...       723   \n",
       "723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...       723   \n",
       "723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R...       723   \n",
       "723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137...       723   \n",
       "723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...       723   \n",
       "723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137...       723   \n",
       "723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137...       723   \n",
       "723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...       723   \n",
       "723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137...       723   \n",
       "723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137...       723   \n",
       "723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137...       723   \n",
       "723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...       723   \n",
       "723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...       723   \n",
       "755.EF.DELTA.26.05.11.lane1.NoIndex.L001                 755   \n",
       "755.EF.GAMMA.09.06.11.lane1.NoIndex.L001                 755   \n",
       "755.INB.24.08.11.lane1.NoIndex.L001                      755   \n",
       "755.INA.19.07.11.lane1.NoIndex.L001                      755   \n",
       "755.INB.26.07.11.lane1.NoIndex.L001                      755   \n",
       "755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001           755   \n",
       "755.LAB.IN.22.07.11.lane1.NoIndex.L001                   755   \n",
       "755.EF.BETA.30.06.11.lane1.NoIndex.L001                  755   \n",
       "755.EFB.18.10.11.lane1.NoIndex.L001                      755   \n",
       "755.INB.20.09.11.lane1.NoIndex.L001                      755   \n",
       "755.EFA.20.09.11.lane1.NoIndex.L001                      755   \n",
       "755.INB.17.05.11.lane1.NoIndex.L001                      755   \n",
       "804.3862.1219                                            804   \n",
       "804.3862.1325                                            804   \n",
       "804.3869.1404                                            804   \n",
       "804.3869.1446                                            804   \n",
       "804.3876.1104                                            804   \n",
       "804.3876.1436                                            804   \n",
       "804.3867.1228.2                                          804   \n",
       "804.3867.1228.4                                          804   \n",
       "804.3867.1228.5                                          804   \n",
       "...                                                      ...   \n",
       "2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInde...      2229   \n",
       "2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInde...      2229   \n",
       "2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInde...      2229   \n",
       "2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInde...      2229   \n",
       "2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInde...      2229   \n",
       "2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInde...      2229   \n",
       "2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInde...      2229   \n",
       "2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInde...      2229   \n",
       "2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInde...      2229   \n",
       "2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInde...      2229   \n",
       "2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInde...      2229   \n",
       "2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInde...      2229   \n",
       "2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInde...      2229   \n",
       "2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInde...      2229   \n",
       "2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoInd...      2229   \n",
       "2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInde...      2229   \n",
       "2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInde...      2229   \n",
       "2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInde...      2229   \n",
       "2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...      2229   \n",
       "2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInde...      2229   \n",
       "2300.BB.4087.anus                                       2300   \n",
       "2300.BB.4087.lavage20                                   2300   \n",
       "2300.BB.08.lavage20                                     2300   \n",
       "\n",
       "                                                    observations_deblur_90bp  \\\n",
       "#SampleID                                                                      \n",
       "678.OA.mesocosm.362                                                    40702   \n",
       "678.OA.mesocosm.376                                                    15180   \n",
       "678.OA.mesocosm.410                                                    18674   \n",
       "678.OA.mesocosm.417                                                    53128   \n",
       "678.OA.mesocosm.431                                                    20626   \n",
       "678.OA.mesocosm.438                                                    19904   \n",
       "723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R...                    163972   \n",
       "723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...                     90238   \n",
       "723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R...                    128593   \n",
       "723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137...                     66563   \n",
       "723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...                     16821   \n",
       "723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137...                     79804   \n",
       "723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137...                     22668   \n",
       "723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...                     17307   \n",
       "723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137...                     80676   \n",
       "723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137...                     81809   \n",
       "723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137...                    162427   \n",
       "723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...                    106390   \n",
       "723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...                    320506   \n",
       "755.EF.DELTA.26.05.11.lane1.NoIndex.L001                               39864   \n",
       "755.EF.GAMMA.09.06.11.lane1.NoIndex.L001                               41035   \n",
       "755.INB.24.08.11.lane1.NoIndex.L001                                    50235   \n",
       "755.INA.19.07.11.lane1.NoIndex.L001                                    51801   \n",
       "755.INB.26.07.11.lane1.NoIndex.L001                                    50339   \n",
       "755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001                         45805   \n",
       "755.LAB.IN.22.07.11.lane1.NoIndex.L001                                 55145   \n",
       "755.EF.BETA.30.06.11.lane1.NoIndex.L001                                54472   \n",
       "755.EFB.18.10.11.lane1.NoIndex.L001                                    43742   \n",
       "755.INB.20.09.11.lane1.NoIndex.L001                                    40748   \n",
       "755.EFA.20.09.11.lane1.NoIndex.L001                                    51051   \n",
       "755.INB.17.05.11.lane1.NoIndex.L001                                    56641   \n",
       "804.3862.1219                                                          79423   \n",
       "804.3862.1325                                                         130967   \n",
       "804.3869.1404                                                          67311   \n",
       "804.3869.1446                                                         155732   \n",
       "804.3876.1104                                                         120919   \n",
       "804.3876.1436                                                          85130   \n",
       "804.3867.1228.2                                                       123983   \n",
       "804.3867.1228.4                                                        66861   \n",
       "804.3867.1228.5                                                       169213   \n",
       "...                                                                      ...   \n",
       "2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInde...                     47354   \n",
       "2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoInd...                     73108   \n",
       "2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...                     70051   \n",
       "2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoInd...                     67294   \n",
       "2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInde...                     60370   \n",
       "2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInde...                     63994   \n",
       "2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInde...                     26576   \n",
       "2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...                     75078   \n",
       "2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoInd...                     56845   \n",
       "2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoInd...                     56557   \n",
       "2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoInd...                     64368   \n",
       "2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoInd...                     63247   \n",
       "2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoInd...                     55638   \n",
       "2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoInd...                     76005   \n",
       "2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoInd...                     65016   \n",
       "2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInde...                     58870   \n",
       "2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInde...                     42917   \n",
       "2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...                     36948   \n",
       "2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInde...                     57253   \n",
       "2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoInd...                     45401   \n",
       "2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInde...                     42699   \n",
       "2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInde...                     57812   \n",
       "2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInde...                     39171   \n",
       "2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInde...                     76000   \n",
       "2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoInd...                     69629   \n",
       "2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoInd...                     72967   \n",
       "2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInde...                     56445   \n",
       "2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInde...                     49737   \n",
       "2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInde...                     72432   \n",
       "2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoInd...                     57030   \n",
       "2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...                     31685   \n",
       "2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...                     34181   \n",
       "2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInde...                     44509   \n",
       "2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInde...                     44866   \n",
       "2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInde...                     52738   \n",
       "2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...                     36035   \n",
       "2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInde...                     57826   \n",
       "2300.BB.4087.anus                                                     102404   \n",
       "2300.BB.4087.lavage20                                                 100213   \n",
       "2300.BB.08.lavage20                                                    82534   \n",
       "\n",
       "                                                    latitude_deg  \\\n",
       "#SampleID                                                          \n",
       "678.OA.mesocosm.362                                    50.338000   \n",
       "678.OA.mesocosm.376                                    50.338000   \n",
       "678.OA.mesocosm.410                                    50.338000   \n",
       "678.OA.mesocosm.417                                    50.338000   \n",
       "678.OA.mesocosm.431                                    50.338000   \n",
       "678.OA.mesocosm.438                                    50.338000   \n",
       "723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R...     78.712000   \n",
       "723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...     78.712000   \n",
       "723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R...     78.712000   \n",
       "723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137...     78.712000   \n",
       "723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...     78.712000   \n",
       "723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137...     78.712000   \n",
       "723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137...     78.712000   \n",
       "723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...     78.712000   \n",
       "723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137...     78.712000   \n",
       "723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137...     78.712000   \n",
       "723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137...     78.712000   \n",
       "723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...     78.712000   \n",
       "723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...     78.712000   \n",
       "755.EF.DELTA.26.05.11.lane1.NoIndex.L001               55.873000   \n",
       "755.EF.GAMMA.09.06.11.lane1.NoIndex.L001               55.873000   \n",
       "755.INB.24.08.11.lane1.NoIndex.L001                    55.905000   \n",
       "755.INA.19.07.11.lane1.NoIndex.L001                    55.905000   \n",
       "755.INB.26.07.11.lane1.NoIndex.L001                    55.905000   \n",
       "755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001         55.873000   \n",
       "755.LAB.IN.22.07.11.lane1.NoIndex.L001                 55.873000   \n",
       "755.EF.BETA.30.06.11.lane1.NoIndex.L001                55.873000   \n",
       "755.EFB.18.10.11.lane1.NoIndex.L001                    55.905000   \n",
       "755.INB.20.09.11.lane1.NoIndex.L001                    55.905000   \n",
       "755.EFA.20.09.11.lane1.NoIndex.L001                    55.906000   \n",
       "755.INB.17.05.11.lane1.NoIndex.L001                    55.905000   \n",
       "804.3862.1219                                          30.123970   \n",
       "804.3862.1325                                          30.123970   \n",
       "804.3869.1404                                          30.123934   \n",
       "804.3869.1446                                          30.123934   \n",
       "804.3876.1104                                          30.124060   \n",
       "804.3876.1436                                          30.123889   \n",
       "804.3867.1228.2                                        30.124755   \n",
       "804.3867.1228.4                                        30.124755   \n",
       "804.3867.1228.5                                        30.124755   \n",
       "...                                                          ...   \n",
       "2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInde...    -43.529700   \n",
       "2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoInd...    -43.140300   \n",
       "2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...    -43.032500   \n",
       "2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoInd...    -43.032500   \n",
       "2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInde...    -43.139900   \n",
       "2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInde...    -43.139900   \n",
       "2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInde...    -43.123400   \n",
       "2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...    -41.881600   \n",
       "2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoInd...    -33.990700   \n",
       "2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoInd...    -33.990700   \n",
       "2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoInd...    -33.990700   \n",
       "2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoInd...    -33.965600   \n",
       "2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoInd...    -31.594600   \n",
       "2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoInd...    -31.717000   \n",
       "2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoInd...    -43.407700   \n",
       "2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInde...    -42.950900   \n",
       "2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInde...    -43.529700   \n",
       "2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...    -43.007700   \n",
       "2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInde...    -43.123400   \n",
       "2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoInd...    -41.881600   \n",
       "2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInde...    -41.908800   \n",
       "2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInde...    -41.846400   \n",
       "2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInde...    -41.869300   \n",
       "2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInde...    -41.869300   \n",
       "2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoInd...    -33.800600   \n",
       "2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoInd...    -33.990700   \n",
       "2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInde...    -35.816700   \n",
       "2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInde...    -35.780900   \n",
       "2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInde...    -35.780900   \n",
       "2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoInd...    -31.594600   \n",
       "2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...    -31.717000   \n",
       "2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...    -43.407700   \n",
       "2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInde...    -43.425700   \n",
       "2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInde...    -43.139900   \n",
       "2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInde...    -43.123400   \n",
       "2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...    -41.871000   \n",
       "2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInde...    -41.869300   \n",
       "2300.BB.4087.anus                                      47.937130   \n",
       "2300.BB.4087.lavage20                                  47.937130   \n",
       "2300.BB.08.lavage20                                    47.937130   \n",
       "\n",
       "                                                    longitude_deg  \\\n",
       "#SampleID                                                           \n",
       "678.OA.mesocosm.362                                     -4.148000   \n",
       "678.OA.mesocosm.376                                     -4.148000   \n",
       "678.OA.mesocosm.410                                     -4.148000   \n",
       "678.OA.mesocosm.417                                     -4.148000   \n",
       "678.OA.mesocosm.431                                     -4.148000   \n",
       "678.OA.mesocosm.438                                     -4.148000   \n",
       "723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R...    -104.878000   \n",
       "723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...    -104.878000   \n",
       "723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R...    -104.878000   \n",
       "723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137...    -104.878000   \n",
       "723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...    -104.878000   \n",
       "723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137...    -104.878000   \n",
       "723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137...    -104.878000   \n",
       "723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...    -104.878000   \n",
       "723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137...    -104.878000   \n",
       "723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137...    -104.878000   \n",
       "723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137...    -104.878000   \n",
       "723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...    -104.878000   \n",
       "723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...    -104.878000   \n",
       "755.EF.DELTA.26.05.11.lane1.NoIndex.L001                -4.284000   \n",
       "755.EF.GAMMA.09.06.11.lane1.NoIndex.L001                -4.284000   \n",
       "755.INB.24.08.11.lane1.NoIndex.L001                     -3.204000   \n",
       "755.INA.19.07.11.lane1.NoIndex.L001                     -3.204000   \n",
       "755.INB.26.07.11.lane1.NoIndex.L001                     -3.204000   \n",
       "755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001          -4.284000   \n",
       "755.LAB.IN.22.07.11.lane1.NoIndex.L001                  -4.284000   \n",
       "755.EF.BETA.30.06.11.lane1.NoIndex.L001                 -4.284000   \n",
       "755.EFB.18.10.11.lane1.NoIndex.L001                     -3.204000   \n",
       "755.INB.20.09.11.lane1.NoIndex.L001                     -3.204000   \n",
       "755.EFA.20.09.11.lane1.NoIndex.L001                     -3.204000   \n",
       "755.INB.17.05.11.lane1.NoIndex.L001                     -3.204000   \n",
       "804.3862.1219                                          -42.120113   \n",
       "804.3862.1325                                          -42.120113   \n",
       "804.3869.1404                                          -42.120154   \n",
       "804.3869.1446                                          -42.120154   \n",
       "804.3876.1104                                          -42.119107   \n",
       "804.3876.1436                                          -42.120061   \n",
       "804.3867.1228.2                                        -42.119024   \n",
       "804.3867.1228.4                                        -42.119024   \n",
       "804.3867.1228.5                                        -42.119024   \n",
       "...                                                           ...   \n",
       "2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInde...     146.956700   \n",
       "2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoInd...     147.968100   \n",
       "2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...     147.946000   \n",
       "2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoInd...     147.946000   \n",
       "2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInde...     148.001700   \n",
       "2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInde...     148.001700   \n",
       "2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInde...     147.975800   \n",
       "2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...     148.306000   \n",
       "2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoInd...     151.232400   \n",
       "2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoInd...     151.232400   \n",
       "2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoInd...     151.232400   \n",
       "2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoInd...     151.256100   \n",
       "2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoInd...     152.843300   \n",
       "2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoInd...     152.797900   \n",
       "2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoInd...     147.018100   \n",
       "2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInde...     147.355100   \n",
       "2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInde...     146.956700   \n",
       "2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...     147.934300   \n",
       "2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInde...     147.975800   \n",
       "2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoInd...     148.306000   \n",
       "2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInde...     148.321300   \n",
       "2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInde...     148.278600   \n",
       "2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInde...     148.303000   \n",
       "2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInde...     148.303000   \n",
       "2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoInd...     151.297100   \n",
       "2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoInd...     151.232400   \n",
       "2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInde...     150.233200   \n",
       "2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInde...     150.237200   \n",
       "2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInde...     150.237200   \n",
       "2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoInd...     152.843300   \n",
       "2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...     152.797900   \n",
       "2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...     147.018100   \n",
       "2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInde...     147.023200   \n",
       "2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInde...     148.001700   \n",
       "2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInde...     147.975800   \n",
       "2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...     148.303300   \n",
       "2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInde...     148.303000   \n",
       "2300.BB.4087.anus                                      -95.986280   \n",
       "2300.BB.4087.lavage20                                  -95.986280   \n",
       "2300.BB.08.lavage20                                    -95.986280   \n",
       "\n",
       "                                                    temperature_deg_c  \\\n",
       "#SampleID                                                               \n",
       "678.OA.mesocosm.362                                         11.000000   \n",
       "678.OA.mesocosm.376                                         10.800000   \n",
       "678.OA.mesocosm.410                                         12.100000   \n",
       "678.OA.mesocosm.417                                         11.000000   \n",
       "678.OA.mesocosm.431                                         11.100000   \n",
       "678.OA.mesocosm.438                                         11.600000   \n",
       "723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R...          -1.642100   \n",
       "723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...          -1.648100   \n",
       "723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R...          -1.648000   \n",
       "723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137...          -1.650800   \n",
       "723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...          -1.653100   \n",
       "723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137...          -1.651800   \n",
       "723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137...          -1.651700   \n",
       "723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...          -1.645300   \n",
       "723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137...          -1.645300   \n",
       "723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137...          -5.000000   \n",
       "723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137...         -15.000000   \n",
       "723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...          -5.000000   \n",
       "723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...          -5.000000   \n",
       "755.EF.DELTA.26.05.11.lane1.NoIndex.L001                    14.060000   \n",
       "755.EF.GAMMA.09.06.11.lane1.NoIndex.L001                    14.600000   \n",
       "755.INB.24.08.11.lane1.NoIndex.L001                         15.440000   \n",
       "755.INA.19.07.11.lane1.NoIndex.L001                         16.660000   \n",
       "755.INB.26.07.11.lane1.NoIndex.L001                         16.900000   \n",
       "755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001              19.000000   \n",
       "755.LAB.IN.22.07.11.lane1.NoIndex.L001                      18.060000   \n",
       "755.EF.BETA.30.06.11.lane1.NoIndex.L001                     14.300000   \n",
       "755.EFB.18.10.11.lane1.NoIndex.L001                          9.480000   \n",
       "755.INB.20.09.11.lane1.NoIndex.L001                         13.120000   \n",
       "755.EFA.20.09.11.lane1.NoIndex.L001                         14.900000   \n",
       "755.INB.17.05.11.lane1.NoIndex.L001                         12.320000   \n",
       "804.3862.1219                                               88.000000   \n",
       "804.3862.1325                                               88.000000   \n",
       "804.3869.1404                                               70.000000   \n",
       "804.3869.1446                                               70.000000   \n",
       "804.3876.1104                                               12.500000   \n",
       "804.3876.1436                                               91.000000   \n",
       "804.3867.1228.2                                             28.000000   \n",
       "804.3867.1228.4                                             28.000000   \n",
       "804.3867.1228.5                                             28.000000   \n",
       "...                                                               ...   \n",
       "2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInde...          20.273823   \n",
       "2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoInd...          12.535678   \n",
       "2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...          12.350617   \n",
       "2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoInd...          12.350617   \n",
       "2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInde...          18.000000   \n",
       "2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInde...          18.000000   \n",
       "2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInde...          20.200000   \n",
       "2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...          12.600000   \n",
       "2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoInd...          16.800000   \n",
       "2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoInd...          16.800000   \n",
       "2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoInd...          16.800000   \n",
       "2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoInd...          16.900000   \n",
       "2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoInd...          13.333710   \n",
       "2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoInd...          12.600000   \n",
       "2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoInd...          12.576308   \n",
       "2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInde...          18.035968   \n",
       "2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInde...          16.900000   \n",
       "2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...          16.900000   \n",
       "2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInde...          20.200000   \n",
       "2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoInd...          16.900000   \n",
       "2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInde...          16.712661   \n",
       "2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInde...          17.700000   \n",
       "2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInde...          16.600000   \n",
       "2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInde...          16.600000   \n",
       "2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoInd...          12.910730   \n",
       "2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoInd...          12.993581   \n",
       "2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInde...          16.980000   \n",
       "2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInde...          20.200000   \n",
       "2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInde...          20.600000   \n",
       "2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoInd...          12.993581   \n",
       "2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...          15.600000   \n",
       "2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...          15.500000   \n",
       "2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInde...          18.000000   \n",
       "2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInde...          17.700000   \n",
       "2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInde...          20.600000   \n",
       "2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...          18.300000   \n",
       "2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInde...          20.236952   \n",
       "2300.BB.4087.anus                                           35.055556   \n",
       "2300.BB.4087.lavage20                                       35.055556   \n",
       "2300.BB.08.lavage20                                         36.222222   \n",
       "\n",
       "                                                                empo_3  \\\n",
       "#SampleID                                                                \n",
       "678.OA.mesocosm.362                                  Sediment (saline)   \n",
       "678.OA.mesocosm.376                                  Sediment (saline)   \n",
       "678.OA.mesocosm.410                                  Sediment (saline)   \n",
       "678.OA.mesocosm.417                                  Sediment (saline)   \n",
       "678.OA.mesocosm.431                                  Sediment (saline)   \n",
       "678.OA.mesocosm.438                                  Sediment (saline)   \n",
       "723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R...      Water (saline)   \n",
       "723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...      Water (saline)   \n",
       "723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R...      Water (saline)   \n",
       "723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137...      Water (saline)   \n",
       "723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...      Water (saline)   \n",
       "723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137...      Water (saline)   \n",
       "723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137...      Water (saline)   \n",
       "723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...      Water (saline)   \n",
       "723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137...      Water (saline)   \n",
       "723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137...      Water (saline)   \n",
       "723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137...      Water (saline)   \n",
       "723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...      Water (saline)   \n",
       "723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...      Water (saline)   \n",
       "755.EF.DELTA.26.05.11.lane1.NoIndex.L001            Water (non-saline)   \n",
       "755.EF.GAMMA.09.06.11.lane1.NoIndex.L001            Water (non-saline)   \n",
       "755.INB.24.08.11.lane1.NoIndex.L001                 Water (non-saline)   \n",
       "755.INA.19.07.11.lane1.NoIndex.L001                 Water (non-saline)   \n",
       "755.INB.26.07.11.lane1.NoIndex.L001                 Water (non-saline)   \n",
       "755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001       Soil (non-saline)   \n",
       "755.LAB.IN.22.07.11.lane1.NoIndex.L001              Water (non-saline)   \n",
       "755.EF.BETA.30.06.11.lane1.NoIndex.L001             Water (non-saline)   \n",
       "755.EFB.18.10.11.lane1.NoIndex.L001                 Water (non-saline)   \n",
       "755.INB.20.09.11.lane1.NoIndex.L001                 Water (non-saline)   \n",
       "755.EFA.20.09.11.lane1.NoIndex.L001                 Water (non-saline)   \n",
       "755.INB.17.05.11.lane1.NoIndex.L001                 Water (non-saline)   \n",
       "804.3862.1219                                         Surface (saline)   \n",
       "804.3862.1325                                         Surface (saline)   \n",
       "804.3869.1404                                         Surface (saline)   \n",
       "804.3869.1446                                         Surface (saline)   \n",
       "804.3876.1104                                         Surface (saline)   \n",
       "804.3876.1436                                         Surface (saline)   \n",
       "804.3867.1228.2                                       Surface (saline)   \n",
       "804.3867.1228.4                                       Surface (saline)   \n",
       "804.3867.1228.5                                       Surface (saline)   \n",
       "...                                                                ...   \n",
       "2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInde...       Plant surface   \n",
       "2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInde...       Plant surface   \n",
       "2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInde...       Plant surface   \n",
       "2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInde...       Plant surface   \n",
       "2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoInd...       Plant surface   \n",
       "2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInde...       Plant surface   \n",
       "2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInde...       Plant surface   \n",
       "2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...       Plant surface   \n",
       "2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInde...       Plant surface   \n",
       "2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoInd...       Plant surface   \n",
       "2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInde...       Plant surface   \n",
       "2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInde...       Plant surface   \n",
       "2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInde...       Plant surface   \n",
       "2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInde...       Plant surface   \n",
       "2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInde...       Plant surface   \n",
       "2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInde...       Plant surface   \n",
       "2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInde...       Plant surface   \n",
       "2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoInd...       Plant surface   \n",
       "2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...       Plant surface   \n",
       "2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...       Plant surface   \n",
       "2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInde...       Plant surface   \n",
       "2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInde...       Plant surface   \n",
       "2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInde...       Plant surface   \n",
       "2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...       Plant surface   \n",
       "2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInde...       Plant surface   \n",
       "2300.BB.4087.anus                                    Animal distal gut   \n",
       "2300.BB.4087.lavage20                                Animal distal gut   \n",
       "2300.BB.08.lavage20                                  Animal distal gut   \n",
       "\n",
       "                                                                       envo_biome_2  \n",
       "#SampleID                                                                            \n",
       "678.OA.mesocosm.362                                                    marine biome  \n",
       "678.OA.mesocosm.376                                                    marine biome  \n",
       "678.OA.mesocosm.410                                                    marine biome  \n",
       "678.OA.mesocosm.417                                                    marine biome  \n",
       "678.OA.mesocosm.431                                                    marine biome  \n",
       "678.OA.mesocosm.438                                                    marine biome  \n",
       "723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R...                     marine biome  \n",
       "723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...                     marine biome  \n",
       "723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R...                     marine biome  \n",
       "723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137...                     marine biome  \n",
       "723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R...                     marine biome  \n",
       "723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137...                     marine biome  \n",
       "723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137...                     marine biome  \n",
       "723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137...                     marine biome  \n",
       "723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137...                     marine biome  \n",
       "723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137...                     marine biome  \n",
       "723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137...                     marine biome  \n",
       "723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...                     marine biome  \n",
       "723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137...                     marine biome  \n",
       "755.EF.DELTA.26.05.11.lane1.NoIndex.L001            anthropogenic terrestrial biome  \n",
       "755.EF.GAMMA.09.06.11.lane1.NoIndex.L001            anthropogenic terrestrial biome  \n",
       "755.INB.24.08.11.lane1.NoIndex.L001                 anthropogenic terrestrial biome  \n",
       "755.INA.19.07.11.lane1.NoIndex.L001                 anthropogenic terrestrial biome  \n",
       "755.INB.26.07.11.lane1.NoIndex.L001                 anthropogenic terrestrial biome  \n",
       "755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001      anthropogenic terrestrial biome  \n",
       "755.LAB.IN.22.07.11.lane1.NoIndex.L001              anthropogenic terrestrial biome  \n",
       "755.EF.BETA.30.06.11.lane1.NoIndex.L001             anthropogenic terrestrial biome  \n",
       "755.EFB.18.10.11.lane1.NoIndex.L001                 anthropogenic terrestrial biome  \n",
       "755.INB.20.09.11.lane1.NoIndex.L001                 anthropogenic terrestrial biome  \n",
       "755.EFA.20.09.11.lane1.NoIndex.L001                 anthropogenic terrestrial biome  \n",
       "755.INB.17.05.11.lane1.NoIndex.L001                 anthropogenic terrestrial biome  \n",
       "804.3862.1219                                                          marine biome  \n",
       "804.3862.1325                                                          marine biome  \n",
       "804.3869.1404                                                          marine biome  \n",
       "804.3869.1446                                                          marine biome  \n",
       "804.3876.1104                                                          marine biome  \n",
       "804.3876.1436                                                          marine biome  \n",
       "804.3867.1228.2                                                        marine biome  \n",
       "804.3867.1228.4                                                        marine biome  \n",
       "804.3867.1228.5                                                        marine biome  \n",
       "...                                                                             ...  \n",
       "2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoInde...                     marine biome  \n",
       "2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoInde...                     marine biome  \n",
       "2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoInde...                     marine biome  \n",
       "2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoInde...                     marine biome  \n",
       "2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoInd...                     marine biome  \n",
       "2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoInde...                     marine biome  \n",
       "2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoInde...                     marine biome  \n",
       "2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...                     marine biome  \n",
       "2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoInde...                     marine biome  \n",
       "2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoInd...                     marine biome  \n",
       "2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoInde...                     marine biome  \n",
       "2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoInde...                     marine biome  \n",
       "2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoInde...                     marine biome  \n",
       "2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoInde...                     marine biome  \n",
       "2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoInde...                     marine biome  \n",
       "2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoInde...                     marine biome  \n",
       "2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoInde...                     marine biome  \n",
       "2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoInd...                     marine biome  \n",
       "2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoInd...                     marine biome  \n",
       "2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...                     marine biome  \n",
       "2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoInde...                     marine biome  \n",
       "2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoInde...                     marine biome  \n",
       "2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoInde...                     marine biome  \n",
       "2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoInd...                     marine biome  \n",
       "2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoInde...                     marine biome  \n",
       "2300.BB.4087.anus                                                      forest biome  \n",
       "2300.BB.4087.lavage20                                                  forest biome  \n",
       "2300.BB.08.lavage20                                                    forest biome  \n",
       "\n",
       "[411 rows x 7 columns]"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# before proceeding, let's change the index to match '#SampleID' column\n",
    "df.set_index('#SampleID', inplace=True)\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "#SampleID                                                                       \n",
       "678.OA.mesocosm.362                                     study_id                                  678\n",
       "                                                        observations_deblur_90bp                40702\n",
       "                                                        latitude_deg                           50.338\n",
       "                                                        longitude_deg                          -4.148\n",
       "                                                        temperature_deg_c                          11\n",
       "                                                        empo_3                      Sediment (saline)\n",
       "                                                        envo_biome_2                     marine biome\n",
       "678.OA.mesocosm.376                                     study_id                                  678\n",
       "                                                        observations_deblur_90bp                15180\n",
       "                                                        latitude_deg                           50.338\n",
       "                                                        longitude_deg                          -4.148\n",
       "                                                        temperature_deg_c                        10.8\n",
       "                                                        empo_3                      Sediment (saline)\n",
       "                                                        envo_biome_2                     marine biome\n",
       "678.OA.mesocosm.410                                     study_id                                  678\n",
       "                                                        observations_deblur_90bp                18674\n",
       "                                                        latitude_deg                           50.338\n",
       "                                                        longitude_deg                          -4.148\n",
       "                                                        temperature_deg_c                        12.1\n",
       "                                                        empo_3                      Sediment (saline)\n",
       "                                                        envo_biome_2                     marine biome\n",
       "678.OA.mesocosm.417                                     study_id                                  678\n",
       "                                                        observations_deblur_90bp                53128\n",
       "                                                        latitude_deg                           50.338\n",
       "                                                        longitude_deg                          -4.148\n",
       "                                                        temperature_deg_c                          11\n",
       "                                                        empo_3                      Sediment (saline)\n",
       "                                                        envo_biome_2                     marine biome\n",
       "678.OA.mesocosm.431                                     study_id                                  678\n",
       "                                                        observations_deblur_90bp                20626\n",
       "                                                        latitude_deg                           50.338\n",
       "                                                        longitude_deg                          -4.148\n",
       "                                                        temperature_deg_c                        11.1\n",
       "                                                        empo_3                      Sediment (saline)\n",
       "                                                        envo_biome_2                     marine biome\n",
       "678.OA.mesocosm.438                                     study_id                                  678\n",
       "                                                        observations_deblur_90bp                19904\n",
       "                                                        latitude_deg                           50.338\n",
       "                                                        longitude_deg                          -4.148\n",
       "                                                        temperature_deg_c                        11.6\n",
       "                                                                                          ...        \n",
       "2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoIndex.L005   latitude_deg                         -43.1234\n",
       "                                                        longitude_deg                         147.976\n",
       "                                                        temperature_deg_c                        20.6\n",
       "                                                        empo_3                          Plant surface\n",
       "                                                        envo_biome_2                     marine biome\n",
       "2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoIndex.L005  study_id                                 2229\n",
       "                                                        observations_deblur_90bp                36035\n",
       "                                                        latitude_deg                          -41.871\n",
       "                                                        longitude_deg                         148.303\n",
       "                                                        temperature_deg_c                        18.3\n",
       "                                                        empo_3                          Plant surface\n",
       "                                                        envo_biome_2                     marine biome\n",
       "2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoIndex.L006   study_id                                 2229\n",
       "                                                        observations_deblur_90bp                57826\n",
       "                                                        latitude_deg                         -41.8693\n",
       "                                                        longitude_deg                         148.303\n",
       "                                                        temperature_deg_c                      20.237\n",
       "                                                        empo_3                          Plant surface\n",
       "                                                        envo_biome_2                     marine biome\n",
       "2300.BB.4087.anus                                       study_id                                 2300\n",
       "                                                        observations_deblur_90bp               102404\n",
       "                                                        latitude_deg                          47.9371\n",
       "                                                        longitude_deg                        -95.9863\n",
       "                                                        temperature_deg_c                     35.0556\n",
       "                                                        empo_3                      Animal distal gut\n",
       "                                                        envo_biome_2                     forest biome\n",
       "2300.BB.4087.lavage20                                   study_id                                 2300\n",
       "                                                        observations_deblur_90bp               100213\n",
       "                                                        latitude_deg                          47.9371\n",
       "                                                        longitude_deg                        -95.9863\n",
       "                                                        temperature_deg_c                     35.0556\n",
       "                                                        empo_3                      Animal distal gut\n",
       "                                                        envo_biome_2                     forest biome\n",
       "2300.BB.08.lavage20                                     study_id                                 2300\n",
       "                                                        observations_deblur_90bp                82534\n",
       "                                                        latitude_deg                          47.9371\n",
       "                                                        longitude_deg                        -95.9863\n",
       "                                                        temperature_deg_c                     36.2222\n",
       "                                                        empo_3                      Animal distal gut\n",
       "                                                        envo_biome_2                     forest biome\n",
       "Length: 2877, dtype: object"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# stack - indexes become top-level hierarchical indexes, columns become second-level hierarchical indexes\n",
    "df_stack = df.stack()\n",
    "df_stack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.series.Series"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(df_stack)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "study_id                                  678\n",
       "observations_deblur_90bp                40702\n",
       "latitude_deg                           50.338\n",
       "longitude_deg                          -4.148\n",
       "temperature_deg_c                          11\n",
       "empo_3                      Sediment (saline)\n",
       "envo_biome_2                     marine biome\n",
       "dtype: object"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# to get all values for one index (row in the df that was stacked)\n",
    "df_stack['678.OA.mesocosm.362']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "study_id                                  678\n",
       "observations_deblur_90bp                40702\n",
       "latitude_deg                           50.338\n",
       "longitude_deg                          -4.148\n",
       "temperature_deg_c                          11\n",
       "empo_3                      Sediment (saline)\n",
       "envo_biome_2                     marine biome\n",
       "Name: 678.OA.mesocosm.362, dtype: object"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc['678.OA.mesocosm.362']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11.0"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# to get a single value (three ways of indexing)\n",
    "df_stack['678.OA.mesocosm.362']['temperature_deg_c']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11.0"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_stack.loc['678.OA.mesocosm.362', 'temperature_deg_c']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11.0"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_stack['678.OA.mesocosm.362', 'temperature_deg_c']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "              #SampleID                                                           \n",
       "study_id      678.OA.mesocosm.362                                                              678\n",
       "              678.OA.mesocosm.376                                                              678\n",
       "              678.OA.mesocosm.410                                                              678\n",
       "              678.OA.mesocosm.417                                                              678\n",
       "              678.OA.mesocosm.431                                                              678\n",
       "              678.OA.mesocosm.438                                                              678\n",
       "              723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence              723\n",
       "              723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence              723\n",
       "              723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence              723\n",
       "              723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence             723\n",
       "              723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence              723\n",
       "              723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence             723\n",
       "              723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence             723\n",
       "              723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence             723\n",
       "              723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence             723\n",
       "              723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence             723\n",
       "              723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence             723\n",
       "              723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence             723\n",
       "              723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence             723\n",
       "              755.EF.DELTA.26.05.11.lane1.NoIndex.L001                                         755\n",
       "              755.EF.GAMMA.09.06.11.lane1.NoIndex.L001                                         755\n",
       "              755.INB.24.08.11.lane1.NoIndex.L001                                              755\n",
       "              755.INA.19.07.11.lane1.NoIndex.L001                                              755\n",
       "              755.INB.26.07.11.lane1.NoIndex.L001                                              755\n",
       "              755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001                                   755\n",
       "              755.LAB.IN.22.07.11.lane1.NoIndex.L001                                           755\n",
       "              755.EF.BETA.30.06.11.lane1.NoIndex.L001                                          755\n",
       "              755.EFB.18.10.11.lane1.NoIndex.L001                                              755\n",
       "              755.INB.20.09.11.lane1.NoIndex.L001                                              755\n",
       "              755.EFA.20.09.11.lane1.NoIndex.L001                                              755\n",
       "              755.INB.17.05.11.lane1.NoIndex.L001                                              755\n",
       "              804.3862.1219                                                                    804\n",
       "              804.3862.1325                                                                    804\n",
       "              804.3869.1404                                                                    804\n",
       "              804.3869.1446                                                                    804\n",
       "              804.3876.1104                                                                    804\n",
       "              804.3876.1436                                                                    804\n",
       "              804.3867.1228.2                                                                  804\n",
       "              804.3867.1228.4                                                                  804\n",
       "              804.3867.1228.5                                                                  804\n",
       "                                                                                          ...     \n",
       "envo_biome_2  2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   marine biome\n",
       "              2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   marine biome\n",
       "              2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   marine biome\n",
       "              2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   marine biome\n",
       "              2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoIndex.L005                  marine biome\n",
       "              2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   marine biome\n",
       "              2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   marine biome\n",
       "              2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoIndex.L005                  marine biome\n",
       "              2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   marine biome\n",
       "              2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoIndex.L005                  marine biome\n",
       "              2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   marine biome\n",
       "              2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   marine biome\n",
       "              2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   marine biome\n",
       "              2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   marine biome\n",
       "              2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   marine biome\n",
       "              2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   marine biome\n",
       "              2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   marine biome\n",
       "              2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  marine biome\n",
       "              2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoIndex.L005                  marine biome\n",
       "              2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoIndex.L005                  marine biome\n",
       "              2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   marine biome\n",
       "              2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   marine biome\n",
       "              2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   marine biome\n",
       "              2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoIndex.L005                  marine biome\n",
       "              2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   marine biome\n",
       "              2300.BB.4087.anus                                                       forest biome\n",
       "              2300.BB.4087.lavage20                                                   forest biome\n",
       "              2300.BB.08.lavage20                                                     forest biome\n",
       "Length: 2877, dtype: object"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# unstack - columns become top-level hierarchical indexes, indexes become second-level hierarchical indexes\n",
    "df_unstack = df.unstack()\n",
    "df_unstack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.series.Series"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(df_unstack)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "#SampleID\n",
       "678.OA.mesocosm.362                                                          11\n",
       "678.OA.mesocosm.376                                                        10.8\n",
       "678.OA.mesocosm.410                                                        12.1\n",
       "678.OA.mesocosm.417                                                          11\n",
       "678.OA.mesocosm.431                                                        11.1\n",
       "678.OA.mesocosm.438                                                        11.6\n",
       "723.C7.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence     -1.6421\n",
       "723.C7.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence     -1.6481\n",
       "723.C7.5m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence      -1.648\n",
       "723.C8.10m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence    -1.6508\n",
       "723.C9.3m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence     -1.6531\n",
       "723.C10.3m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence    -1.6518\n",
       "723.C10.5m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence    -1.6517\n",
       "723.C11.0m.L3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence    -1.6453\n",
       "723.C11.0m.G3.Catlin1.16Spool.110602.HWI.EAS137R.0375.s.3.1.sequence    -1.6453\n",
       "723.IC1.S3.G3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence         -5\n",
       "723.IC3.S1.L3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence        -15\n",
       "723.IC3.S3.L3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence         -5\n",
       "723.IC4.S3.L3.Catlin2.16Spool.110602.HWI.EAS137R.0375.s.5.1.sequence         -5\n",
       "755.EF.DELTA.26.05.11.lane1.NoIndex.L001                                  14.06\n",
       "755.EF.GAMMA.09.06.11.lane1.NoIndex.L001                                   14.6\n",
       "755.INB.24.08.11.lane1.NoIndex.L001                                       15.44\n",
       "755.INA.19.07.11.lane1.NoIndex.L001                                       16.66\n",
       "755.INB.26.07.11.lane1.NoIndex.L001                                        16.9\n",
       "755.LSSF.ALPHA.D20.16.06.11.lane1.NoIndex.L001                               19\n",
       "755.LAB.IN.22.07.11.lane1.NoIndex.L001                                    18.06\n",
       "755.EF.BETA.30.06.11.lane1.NoIndex.L001                                    14.3\n",
       "755.EFB.18.10.11.lane1.NoIndex.L001                                        9.48\n",
       "755.INB.20.09.11.lane1.NoIndex.L001                                       13.12\n",
       "755.EFA.20.09.11.lane1.NoIndex.L001                                        14.9\n",
       "755.INB.17.05.11.lane1.NoIndex.L001                                       12.32\n",
       "804.3862.1219                                                                88\n",
       "804.3862.1325                                                                88\n",
       "804.3869.1404                                                                70\n",
       "804.3869.1446                                                                70\n",
       "804.3876.1104                                                              12.5\n",
       "804.3876.1436                                                                91\n",
       "804.3867.1228.2                                                              28\n",
       "804.3867.1228.4                                                              28\n",
       "804.3867.1228.5                                                              28\n",
       "                                                                         ...   \n",
       "2229.S2.T12.PH4.Thomas.CMB.Seaweed.lane6.NoIndex.L006                   20.2738\n",
       "2229.S2.T2.4.HP1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  12.5357\n",
       "2229.S2.T2.6.HP1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  12.3506\n",
       "2229.S2.T2.6.HP4.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  12.3506\n",
       "2229.S2.T21.ES1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                        18\n",
       "2229.S2.T21.PS4.Thomas.CMB.Seaweed.lane6.NoIndex.L006                        18\n",
       "2229.S2.T22.ES2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                      20.2\n",
       "2229.S2.T3.6.HP1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                     12.6\n",
       "2229.T.B.I.2.HE2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                     16.8\n",
       "2229.T.B.I.2.SE2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                     16.8\n",
       "2229.T.B.I.3.HE4.Thomas.CMB.Seaweed.lane6.NoIndex.L006                     16.8\n",
       "2229.T.L.B.3.HE1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                     16.9\n",
       "2229.W1.N3.4.SE2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  13.3337\n",
       "2229.W1.N3.5.HE5.Thomas.CMB.Seaweed.lane6.NoIndex.L006                     12.6\n",
       "2229.W1.T1.4.HP3.Thomas.CMB.Seaweed.lane5.NoIndex.L005                  12.5763\n",
       "2229.W1.T11.EH1.Thomas.CMB.Seaweed.lane5.NoIndex.L005                    18.036\n",
       "2229.W1.T12.EH5.Thomas.CMB.Seaweed.lane5.NoIndex.L005                      16.9\n",
       "2229.W1.T2.5.HP2.Thomas.CMB.Seaweed.lane5.NoIndex.L005                     16.9\n",
       "2229.W1.T22.PH2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                      20.2\n",
       "2229.W1.T3.6.HP2.Thomas.CMB.Seaweed.lane5.NoIndex.L005                     16.9\n",
       "2229.W1.T31.EH4.Thomas.CMB.Seaweed.lane5.NoIndex.L005                   16.7127\n",
       "2229.W1.T32.EH4.Thomas.CMB.Seaweed.lane5.NoIndex.L005                      17.7\n",
       "2229.W1.T33.PH2.Thomas.CMB.Seaweed.lane6.NoIndex.L006                      16.6\n",
       "2229.W1.T33.PS1.Thomas.CMB.Seaweed.lane6.NoIndex.L006                      16.6\n",
       "2229.W2.N1.7.HE3.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  12.9107\n",
       "2229.W2.N1.9.HE5.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  12.9936\n",
       "2229.W2.N22.EH5.Thomas.CMB.Seaweed.lane5.NoIndex.L005                     16.98\n",
       "2229.W2.N23.EH5.Thomas.CMB.Seaweed.lane5.NoIndex.L005                      20.2\n",
       "2229.W2.N23.ES3.Thomas.CMB.Seaweed.lane5.NoIndex.L005                      20.6\n",
       "2229.W2.N3.4.HE3.Thomas.CMB.Seaweed.lane6.NoIndex.L006                  12.9936\n",
       "2229.W2.N3.5.HP2.Thomas.CMB.Seaweed.lane5.NoIndex.L005                     15.6\n",
       "2229.W2.T1.4.HP1.Thomas.CMB.Seaweed.lane5.NoIndex.L005                     15.5\n",
       "2229.W2.T13.EH4.Thomas.CMB.Seaweed.lane5.NoIndex.L005                        18\n",
       "2229.W2.T21.PH3.Thomas.CMB.Seaweed.lane6.NoIndex.L006                      17.7\n",
       "2229.W2.T22.ES2.Thomas.CMB.Seaweed.lane5.NoIndex.L005                      20.6\n",
       "2229.W2.T3.4.HP1.Thomas.CMB.Seaweed.lane5.NoIndex.L005                     18.3\n",
       "2229.W2.T33.PS5.Thomas.CMB.Seaweed.lane6.NoIndex.L006                    20.237\n",
       "2300.BB.4087.anus                                                       35.0556\n",
       "2300.BB.4087.lavage20                                                   35.0556\n",
       "2300.BB.08.lavage20                                                     36.2222\n",
       "Length: 411, dtype: object"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# to get all values for one index (column in the df that was stacked)\n",
    "df_unstack['temperature_deg_c'] # identical to df.temperature_deg_c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11.0"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# to get a single value (three ways of indexing)\n",
    "df_unstack['temperature_deg_c']['678.OA.mesocosm.362']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11.0"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_unstack.loc['temperature_deg_c', '678.OA.mesocosm.362']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11.0"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_unstack['temperature_deg_c', '678.OA.mesocosm.362']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
